{"id":86940,"name":"github.com/sparkle-project/sparkle","ecosystem":"swift","repository_url":"https://github.com/sparkle-project/sparkle","issues_count":79,"created_at":"2026-03-08T15:00:59.993Z","updated_at":"2026-03-08T15:00:59.993Z","purl":"pkg:swift/github.com/sparkle-project/sparkle","metadata":{"id":14013707,"name":"github.com/sparkle-project/sparkle","ecosystem":"swiftpm","description":null,"homepage":null,"licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/sparkle-project/sparkle","keywords_array":null,"namespace":null,"versions_count":0,"first_release_published_at":null,"latest_release_published_at":"2026-03-09T00:30:26.074Z","latest_release_number":null,"last_synced_at":"2026-03-09T00:30:26.914Z","created_at":"2026-03-09T00:30:25.673Z","updated_at":"2026-03-09T00:30:34.058Z","registry_url":"https://swiftpackageindex.com/sparkle-project/sparkle","install_command":null,"documentation_url":"https://swiftpackageindex.com/sparkle-project/sparkle/documentation","metadata":{},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-09T00:30:34.020Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":19.146997929606624,"dependent_packages_count":15.312629399585923,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":17.22981366459627},"purl":"pkg:swift/github.com/sparkle-project/sparkle","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/swiftpm/github.com/sparkle-project/sparkle","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/swiftpm/github.com/sparkle-project/sparkle","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/swiftpm/github.com/sparkle-project/sparkle/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/swiftpackageindex.com/packages/github.com%2Fsparkle-project%2Fsparkle/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/swiftpackageindex.com/packages/github.com%2Fsparkle-project%2Fsparkle/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/swiftpackageindex.com/packages/github.com%2Fsparkle-project%2Fsparkle/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/swiftpackageindex.com/packages/github.com%2Fsparkle-project%2Fsparkle/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/swiftpackageindex.com/packages/github.com%2Fsparkle-project%2Fsparkle/codemeta","maintainers":[],"registry":{"name":"swiftpackageindex.com","url":"https://swiftpackageindex.com","ecosystem":"swiftpm","default":true,"packages_count":12090,"maintainers_count":0,"namespaces_count":2882,"keywords_count":0,"github":"SwiftPackageIndex","metadata":{"funded_packages_count":1625},"icon_url":"https://github.com/SwiftPackageIndex.png","created_at":"2022-11-28T16:45:05.949Z","updated_at":"2026-03-08T06:57:22.834Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/swiftpackageindex.com/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/swiftpackageindex.com/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/swiftpackageindex.com/namespaces"}},"unique_repositories_count":77,"unique_repositories_count_past_30_days":8,"recent_issues":[{"uuid":"5552318948","node_id":"PR_kwDOUm3cJc8AAAABEu-fng","number":3,"state":"open","title":"deps: bump github.com/sparkle-project/sparkle from 2.9.2 to 2.10.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-23T10:51:33.000Z","updated_at":"2026-09-23T10:51:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.2","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.2 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.2...2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.2\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Cyberesia/sift/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cyberesia%2Fsift/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"5542340924","node_id":"PR_kwDOPgd9ws8AAAABEnHvrQ","number":1160,"state":"open","title":"chore(deps): bump github.com/sparkle-project/sparkle from 2.9.6 to 2.10.0","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-22T16:28:32.000Z","updated_at":"2026-09-22T16:28:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.6","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.6 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.6...2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.6\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/crmitchelmore/justspeaktoit/pull/1160","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/crmitchelmore%2Fjustspeaktoit/issues/1160","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1160/packages"},{"uuid":"5522678884","node_id":"PR_kwDOSOQKm88AAAABEXVFgQ","number":84,"state":"open","title":"deps(spm)(deps): bump github.com/sparkle-project/sparkle from 2.9.6 to 2.10.0 in /Always","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-21T04:18:27.000Z","updated_at":"2026-09-21T04:18:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(spm)(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.6","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":"/Always","ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.6 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.6...2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.6\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/LivioGama/always/pull/84","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LivioGama%2Falways/issues/84","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/84/packages"},{"uuid":"5521666854","node_id":"PR_kwDOTbZGw88AAAABEWiPog","number":134,"state":"closed","title":"chore(deps): bump github.com/sparkle-project/sparkle from 2.9.6 to 2.10.0","user":"dependabot[bot]","labels":["needs-triage"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-09-30T06:29:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-21T01:13:54.000Z","updated_at":"2026-09-30T06:29:58.000Z","time_to_close":796562,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.6","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.6 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.6...2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.6\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/simonwong/speaker/pull/134","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonwong%2Fspeaker/issues/134","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/134/packages"},{"uuid":"5497957086","node_id":"PR_kwDOSR908M8AAAABEDyLKA","number":80,"state":"closed","title":"build(deps): bump github.com/sparkle-project/sparkle from 2.9.3 to 2.10.0","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-30T11:43:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-18T09:26:11.000Z","updated_at":"2026-09-30T11:43:35.000Z","time_to_close":1045041,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.3 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.3...2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.3\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/larsboes/mach-mono/pull/80","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/larsboes%2Fmach-mono/issues/80","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/80/packages"},{"uuid":"5493380269","node_id":"PR_kwDOTX6pvs8AAAABEAIjTQ","number":18,"state":"open","title":"build: Bump github.com/sparkle-project/sparkle from 2.9.4 to 2.10.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-17T22:34:34.000Z","updated_at":"2026-09-17T22:34:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: Bump","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.4","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.4 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/blob/2.x/CHANGELOG\"\u003egithub.com/sparkle-project/sparkle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.10.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003ch1\u003e2.9.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.4...eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.4\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jesdx/CapDeck/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesdx%2FCapDeck/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"5416390097","node_id":"PR_kwDOSRYmZs8AAAABDCytyA","number":546,"state":"closed","title":"build(deps): bump the swift-deps group in /apps/macos with 4 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-11T01:00:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-10T19:21:12.000Z","updated_at":"2026-09-11T01:00:55.000Z","time_to_close":20381,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":4,"packages":[{"name":"github.com/orchetect/menubarextraaccess","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/orchetect/MenuBarExtraAccess"},{"name":"github.com/apple/swift-log","old_version":"1.14.0","new_version":"1.15.1","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.4","new_version":"2.9.6","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/pointfreeco/swift-concurrency-extras","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/pointfreeco/swift-concurrency-extras"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 4 updates: [github.com/orchetect/menubarextraaccess](https://github.com/orchetect/MenuBarExtraAccess), [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/pointfreeco/swift-concurrency-extras](https://github.com/pointfreeco/swift-concurrency-extras).\n\nUpdates `github.com/orchetect/menubarextraaccess` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/releases\"\u003egithub.com/orchetect/menubarextraaccess's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.1\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for macOS 27 beta 4 (\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/25\"\u003e#25\u003c/a\u003e/\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e)[^1]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e[^1]: Thanks to \u003ca href=\"https://github.com/samhenrigold\"\u003e\u003ccode\u003e@​samhenrigold\u003c/code\u003e\u003c/a\u003e for the PR!\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/e93e3a5b814714bf4d4cea67bf63a6b6a8323968\"\u003e\u003ccode\u003ee93e3a5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e from samhenrigold/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/52007d7434b4cbb1a03db5d037d4e0ae3ae6f414\"\u003e\u003ccode\u003e52007d7\u003c/code\u003e\u003c/a\u003e Updated local package reference path in example projects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/cd9d32a6e5c3e9249df2c26a4cdc87062a129c04\"\u003e\u003ccode\u003ecd9d32a\u003c/code\u003e\u003c/a\u003e Support macOS 27 expanded interface session machinery\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/509350b7c661d04ba94ba59db901532ed3094fa2\"\u003e\u003ccode\u003e509350b\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/7532b22240886e001c843d7e46cbaa6507ccd8fe\"\u003e\u003ccode\u003e7532b22\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/3da3e5f576f0fd953c8c2023d3aa30502d79d2b3\"\u003e\u003ccode\u003e3da3e5f\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/37795b8ce26c73a84c0e91dc04509751646ef8c2\"\u003e\u003ccode\u003e37795b8\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/a7ef1d205208bc861ea81bc4f8e9cfe6ec031e8b\"\u003e\u003ccode\u003ea7ef1d2\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/f53b048806ce4e2f69690f206dba36b99d4ec1f3\"\u003e\u003ccode\u003ef53b048\u003c/code\u003e\u003c/a\u003e SwiftFormat pass\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/ffa72c355a0aca64f75c0901f7420981bcd362f4\"\u003e\u003ccode\u003effa72c3\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/compare/1.3.0...1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/apple/swift-log` from 1.14.0 to 1.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.15.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRoute the SwiftLog 1.0 default log method to log(event:) by \u003ca href=\"https://github.com/lenamonj\"\u003e\u003ccode\u003e@​lenamonj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/503\"\u003eapple/swift-log#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix referencing WASILibc.stdout/stderr in Swift 6.5+ by \u003ca href=\"https://github.com/czechboy0\"\u003e\u003ccode\u003e@​czechboy0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/507\"\u003eapple/swift-log#507\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate benchmark thresholds values to match the CI by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/497\"\u003eapple/swift-log#497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CMake build instructions to README by \u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/493\"\u003eapple/swift-log#493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable simulator testing due to instability by \u003ca href=\"https://github.com/czechboy0\"\u003e\u003ccode\u003e@​czechboy0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/505\"\u003eapple/swift-log#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument that setting attributes on a collection value is a programmer error by \u003ca href=\"https://github.com/lenamonj\"\u003e\u003ccode\u003e@​lenamonj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/504\"\u003eapple/swift-log#504\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lenamonj\"\u003e\u003ccode\u003e@​lenamonj\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/504\"\u003eapple/swift-log#504\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.15.0...1.15.1\"\u003ehttps://github.com/apple/swift-log/compare/1.15.0...1.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.15.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eStreamLogHandler\u003c/code\u003e initializers public by \u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Xcode tests by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/473\"\u003eapple/swift-log#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing api refs by \u003ca href=\"https://github.com/heckj\"\u003e\u003ccode\u003e@​heckj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/478\"\u003eapple/swift-log#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd testing logs best practice by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/475\"\u003eapple/swift-log#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CMake support for Swift targets and test configurations by \u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/496\"\u003eapple/swift-log#496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate implemented proposals status by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/476\"\u003eapple/swift-log#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.11 to 0.0.12 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/480\"\u003eapple/swift-log#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 to 0.0.13 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/486\"\u003eapple/swift-log#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to construct log handlers that need more than a label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/490\"\u003eapple/swift-log#490\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.0\"\u003ehttps://github.com/apple/swift-log/compare/1.14.0...1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/9c6fb14227f55d8f711ce3847dc2f419fb0ecacb\"\u003e\u003ccode\u003e9c6fb14\u003c/code\u003e\u003c/a\u003e Fix referencing WASILibc.stdout/stderr in Swift 6.5+ (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/53d00853e69aef84d33b97706ac723dbaccff1e7\"\u003e\u003ccode\u003e53d0085\u003c/code\u003e\u003c/a\u003e Route the SwiftLog 1.0 default log method to log(event:) (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/503\"\u003e#503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/c5ece247864fe3d206c8c68bb68b3413447c61ae\"\u003e\u003ccode\u003ec5ece24\u003c/code\u003e\u003c/a\u003e Document that setting attributes on a collection value is a programmer error ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/172948a4b53703d4545e3ff30f0c99c045c59b5e\"\u003e\u003ccode\u003e172948a\u003c/code\u003e\u003c/a\u003e Disable simulator testing due to instability (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/505\"\u003e#505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/47a917767fde0cd7f5b5dfdabbec733d2cb2dd95\"\u003e\u003ccode\u003e47a9177\u003c/code\u003e\u003c/a\u003e Add CMake build instructions to README (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/f054da4c19fb6b8bd12cf250d47a1ae0db1468ea\"\u003e\u003ccode\u003ef054da4\u003c/code\u003e\u003c/a\u003e Update benchmark thresholds values to match the CI (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/497\"\u003e#497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3ffafb9722d5d918c614feb496c8789a3b59d222\"\u003e\u003ccode\u003e3ffafb9\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/496\"\u003e#496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/7af2de138f5f0fddf0bd5c7e19face6944ed76af\"\u003e\u003ccode\u003e7af2de1\u003c/code\u003e\u003c/a\u003e Document how to construct log handlers that need more than a label (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/e83726cb1573fad8a9972d68136f8f259841b25c\"\u003e\u003ccode\u003ee83726c\u003c/code\u003e\u003c/a\u003e Add CMake support for Swift targets and test configurations (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/8056dbfb08ab96bf959efbdb7a6fa8be4dd8f04c\"\u003e\u003ccode\u003e8056dbf\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 t...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.4 to 2.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003e\u003ccode\u003eac2def2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/de8eb17d170ab6a660a478e477417ff04ef3b2e3\"\u003e\u003ccode\u003ede8eb17\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/f6bc73a38cab825765435af34f7e1dc8bb04242b\"\u003e\u003ccode\u003ef6bc73a\u003c/code\u003e\u003c/a\u003e Harden safety of installer moving the download archive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/51245ef5b915cd9bc6e8f991f7a74586a50745e1\"\u003e\u003ccode\u003e51245ef\u003c/code\u003e\u003c/a\u003e Reject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c34faaed4cd4156653aea8aac23fe0b6bd497257\"\u003e\u003ccode\u003ec34faae\u003c/code\u003e\u003c/a\u003e Don't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.4...2.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pointfreeco/swift-concurrency-extras` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/releases\"\u003egithub.com/pointfreeco/swift-concurrency-extras's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Align .taskLocal trait to match proposal. \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/74\"\u003epointfreeco/swift-concurrency-extras#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Enable upcoming features \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/66\"\u003epointfreeco/swift-concurrency-extras#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Add docs badge to readme \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/73\"\u003epointfreeco/swift-concurrency-extras#73\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5fa253428866f2360c3754e88537f700ed2656b5\"\u003e\u003ccode\u003e5fa2534\u003c/code\u003e\u003c/a\u003e Run swift-format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/a0ce76ac7a4632a8dad75b2d87958587c56921c5\"\u003e\u003ccode\u003ea0ce76a\u003c/code\u003e\u003c/a\u003e Align .taskLocal trait to match proposal. (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/74\"\u003e#74\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/d77f692b459322fbec763c9e6e637233e8b972ef\"\u003e\u003ccode\u003ed77f692\u003c/code\u003e\u003c/a\u003e Add docs badge to readme (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/73\"\u003e#73\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/222b539117e97856d1570dade68486ff9d0ae6cd\"\u003e\u003ccode\u003e222b539\u003c/code\u003e\u003c/a\u003e Remove warning treatment for Swift 6.4 and above\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/55e06b34fcfa4471d0aac13f1406ac4405916e5e\"\u003e\u003ccode\u003e55e06b3\u003c/code\u003e\u003c/a\u003e Enable upcoming features (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/l3ocifer/puck-openclaw/pull/546","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3ocifer%2Fpuck-openclaw/issues/546","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/546/packages"},{"uuid":"5390945359","node_id":"PR_kwDOSRYmZs8AAAABCuVN7w","number":538,"state":"closed","title":"build(deps): bump the swift-deps group in /apps/macos with 4 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-09T01:10:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-08T19:20:55.000Z","updated_at":"2026-09-09T01:10:45.000Z","time_to_close":20988,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":4,"packages":[{"name":"github.com/orchetect/menubarextraaccess","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/orchetect/MenuBarExtraAccess"},{"name":"github.com/apple/swift-log","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.4","new_version":"2.9.6","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/pointfreeco/swift-concurrency-extras","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/pointfreeco/swift-concurrency-extras"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 4 updates: [github.com/orchetect/menubarextraaccess](https://github.com/orchetect/MenuBarExtraAccess), [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/pointfreeco/swift-concurrency-extras](https://github.com/pointfreeco/swift-concurrency-extras).\n\nUpdates `github.com/orchetect/menubarextraaccess` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/releases\"\u003egithub.com/orchetect/menubarextraaccess's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.1\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for macOS 27 beta 4 (\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/25\"\u003e#25\u003c/a\u003e/\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e)[^1]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e[^1]: Thanks to \u003ca href=\"https://github.com/samhenrigold\"\u003e\u003ccode\u003e@​samhenrigold\u003c/code\u003e\u003c/a\u003e for the PR!\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/e93e3a5b814714bf4d4cea67bf63a6b6a8323968\"\u003e\u003ccode\u003ee93e3a5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e from samhenrigold/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/52007d7434b4cbb1a03db5d037d4e0ae3ae6f414\"\u003e\u003ccode\u003e52007d7\u003c/code\u003e\u003c/a\u003e Updated local package reference path in example projects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/cd9d32a6e5c3e9249df2c26a4cdc87062a129c04\"\u003e\u003ccode\u003ecd9d32a\u003c/code\u003e\u003c/a\u003e Support macOS 27 expanded interface session machinery\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/509350b7c661d04ba94ba59db901532ed3094fa2\"\u003e\u003ccode\u003e509350b\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/7532b22240886e001c843d7e46cbaa6507ccd8fe\"\u003e\u003ccode\u003e7532b22\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/3da3e5f576f0fd953c8c2023d3aa30502d79d2b3\"\u003e\u003ccode\u003e3da3e5f\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/37795b8ce26c73a84c0e91dc04509751646ef8c2\"\u003e\u003ccode\u003e37795b8\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/a7ef1d205208bc861ea81bc4f8e9cfe6ec031e8b\"\u003e\u003ccode\u003ea7ef1d2\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/f53b048806ce4e2f69690f206dba36b99d4ec1f3\"\u003e\u003ccode\u003ef53b048\u003c/code\u003e\u003c/a\u003e SwiftFormat pass\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/ffa72c355a0aca64f75c0901f7420981bcd362f4\"\u003e\u003ccode\u003effa72c3\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/compare/1.3.0...1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/apple/swift-log` from 1.14.0 to 1.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.15.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eStreamLogHandler\u003c/code\u003e initializers public by \u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Xcode tests by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/473\"\u003eapple/swift-log#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing api refs by \u003ca href=\"https://github.com/heckj\"\u003e\u003ccode\u003e@​heckj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/478\"\u003eapple/swift-log#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd testing logs best practice by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/475\"\u003eapple/swift-log#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CMake support for Swift targets and test configurations by \u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/496\"\u003eapple/swift-log#496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate implemented proposals status by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/476\"\u003eapple/swift-log#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.11 to 0.0.12 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/480\"\u003eapple/swift-log#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 to 0.0.13 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/486\"\u003eapple/swift-log#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to construct log handlers that need more than a label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/490\"\u003eapple/swift-log#490\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.0\"\u003ehttps://github.com/apple/swift-log/compare/1.14.0...1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3ffafb9722d5d918c614feb496c8789a3b59d222\"\u003e\u003ccode\u003e3ffafb9\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/496\"\u003e#496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/7af2de138f5f0fddf0bd5c7e19face6944ed76af\"\u003e\u003ccode\u003e7af2de1\u003c/code\u003e\u003c/a\u003e Document how to construct log handlers that need more than a label (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/e83726cb1573fad8a9972d68136f8f259841b25c\"\u003e\u003ccode\u003ee83726c\u003c/code\u003e\u003c/a\u003e Add CMake support for Swift targets and test configurations (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/8056dbfb08ab96bf959efbdb7a6fa8be4dd8f04c\"\u003e\u003ccode\u003e8056dbf\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1032aed8a5c20aeb41c3dd40fc82cad623598e1b\"\u003e\u003ccode\u003e1032aed\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.11 t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1895d78a91cb6c0ae8d633a2a4d91670ed5a2733\"\u003e\u003ccode\u003e1895d78\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eStreamLogHandler\u003c/code\u003e initializers public (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/8a6b9eab8446418dd712738f02789341de0934d3\"\u003e\u003ccode\u003e8a6b9ea\u003c/code\u003e\u003c/a\u003e Add testing logs best practice (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/c4e96785bfe44458549086909c4f125901da997c\"\u003e\u003ccode\u003ec4e9678\u003c/code\u003e\u003c/a\u003e Add missing api refs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/478\"\u003e#478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/54ec9e35cde583443ff9373e03c1f2cb9b8cd515\"\u003e\u003ccode\u003e54ec9e3\u003c/code\u003e\u003c/a\u003e Update implemented proposals status (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/476\"\u003e#476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/e3b5d65fc93a7258c5839436f3fd087bc6681671\"\u003e\u003ccode\u003ee3b5d65\u003c/code\u003e\u003c/a\u003e Enable Xcode tests (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.4 to 2.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003e\u003ccode\u003eac2def2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/de8eb17d170ab6a660a478e477417ff04ef3b2e3\"\u003e\u003ccode\u003ede8eb17\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/f6bc73a38cab825765435af34f7e1dc8bb04242b\"\u003e\u003ccode\u003ef6bc73a\u003c/code\u003e\u003c/a\u003e Harden safety of installer moving the download archive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/51245ef5b915cd9bc6e8f991f7a74586a50745e1\"\u003e\u003ccode\u003e51245ef\u003c/code\u003e\u003c/a\u003e Reject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c34faaed4cd4156653aea8aac23fe0b6bd497257\"\u003e\u003ccode\u003ec34faae\u003c/code\u003e\u003c/a\u003e Don't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.4...2.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pointfreeco/swift-concurrency-extras` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/releases\"\u003egithub.com/pointfreeco/swift-concurrency-extras's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Align .taskLocal trait to match proposal. \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/74\"\u003epointfreeco/swift-concurrency-extras#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Enable upcoming features \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/66\"\u003epointfreeco/swift-concurrency-extras#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Add docs badge to readme \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/73\"\u003epointfreeco/swift-concurrency-extras#73\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5fa253428866f2360c3754e88537f700ed2656b5\"\u003e\u003ccode\u003e5fa2534\u003c/code\u003e\u003c/a\u003e Run swift-format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/a0ce76ac7a4632a8dad75b2d87958587c56921c5\"\u003e\u003ccode\u003ea0ce76a\u003c/code\u003e\u003c/a\u003e Align .taskLocal trait to match proposal. (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/74\"\u003e#74\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/d77f692b459322fbec763c9e6e637233e8b972ef\"\u003e\u003ccode\u003ed77f692\u003c/code\u003e\u003c/a\u003e Add docs badge to readme (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/73\"\u003e#73\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/222b539117e97856d1570dade68486ff9d0ae6cd\"\u003e\u003ccode\u003e222b539\u003c/code\u003e\u003c/a\u003e Remove warning treatment for Swift 6.4 and above\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/55e06b34fcfa4471d0aac13f1406ac4405916e5e\"\u003e\u003ccode\u003e55e06b3\u003c/code\u003e\u003c/a\u003e Enable upcoming features (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/l3ocifer/puck-openclaw/pull/538","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3ocifer%2Fpuck-openclaw/issues/538","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/538/packages"},{"uuid":"5309901615","node_id":"PR_kwDOT4Omds8AAAABBuKiQA","number":9,"state":"closed","title":"build(deps): bump github.com/sparkle-project/sparkle from 2.9.2 to 2.9.6","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-02T03:36:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-01T08:59:49.000Z","updated_at":"2026-09-02T03:36:31.000Z","time_to_close":66999,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.2","new_version":"2.9.6","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.2 to 2.9.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.4 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains an activation fix for backgrounded / dockless applications using Sparkle's standard user interface.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.3 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix updating not working the first time if the app's bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a very specific installation fix for apps that use a bundle identifier ending with .app\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/blob/2.x/CHANGELOG\"\u003egithub.com/sparkle-project/sparkle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.9.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.3\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix updating not working the first time if the app's bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003e\u003ccode\u003eac2def2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/de8eb17d170ab6a660a478e477417ff04ef3b2e3\"\u003e\u003ccode\u003ede8eb17\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/f6bc73a38cab825765435af34f7e1dc8bb04242b\"\u003e\u003ccode\u003ef6bc73a\u003c/code\u003e\u003c/a\u003e Harden safety of installer moving the download archive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/51245ef5b915cd9bc6e8f991f7a74586a50745e1\"\u003e\u003ccode\u003e51245ef\u003c/code\u003e\u003c/a\u003e Reject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c34faaed4cd4156653aea8aac23fe0b6bd497257\"\u003e\u003ccode\u003ec34faae\u003c/code\u003e\u003c/a\u003e Don't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/b6496a74a087257ef5e6da1c5b29a447a60f5bd7\"\u003e\u003ccode\u003eb6496a7\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/4ba9745eca7186b85c466663e627637cee8f2b1d\"\u003e\u003ccode\u003e4ba9745\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.9.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.2...ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.2\u0026new-version=2.9.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ihopefulChina/Ossuno/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ihopefulChina%2FOssuno/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"5276009789","node_id":"PR_kwDOUG1S2c8AAAABBTzBiw","number":1,"state":"closed","title":"Bump the swift-packages group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-09T05:03:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-28T07:53:55.000Z","updated_at":"2026-09-09T05:03:24.000Z","time_to_close":1026566,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"swift-packages","update_count":3,"packages":[{"name":"github.com/buh/compactslider","old_version":"1.2.1","new_version":"2.1.0","repository_url":"https://github.com/buh/CompactSlider"},{"name":"github.com/ukushu/ifrit","old_version":"2.0.6","new_version":"4.0.0","repository_url":"https://github.com/ukushu/Ifrit"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.8.0","new_version":"2.9.6","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps the swift-packages group with 3 updates in the / directory: [github.com/buh/compactslider](https://github.com/buh/CompactSlider), [github.com/ukushu/ifrit](https://github.com/ukushu/Ifrit) and [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle).\n\nUpdates `github.com/buh/compactslider` from 1.2.1 to 2.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/buh/CompactSlider/releases\"\u003egithub.com/buh/compactslider's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.0\u003c/h2\u003e\n\u003cp\u003eNew Features:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003ePrecision Control - The new .precisionControl() option for fine-grained adjustments\u003c/li\u003e\n\u003cli\u003eEnhanced Scale API - Separated into three clear methods:\n- \u003ccode\u003e.compactSliderScale()\u003c/code\u003e - Customize the default scale\n- \u003ccode\u003e.compactSliderScaleStyles()\u003c/code\u003e - Use custom scale shape styles\n- \u003ccode\u003e.compactSliderScaleView()\u003c/code\u003e - Completely custom scale views\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eProgress Range Clamping - Fixed rendering issues when values exceed bounds\u003c/li\u003e\n\u003cli\u003eScale Visibility - Fixed disappearing scales when using visibility without custom styles\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/buh/CompactSlider/blob/HEAD/ReleaseNotes/RELEASE_NOTES_2.1.0.md\"\u003eRELEASE_NOTES_2.1.0.md\u003c/a\u003e include code examples, usage patterns, and explanations of how each feature works.\u003c/p\u003e\n\u003ch2\u003e2.0.9\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed warning \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/30\"\u003e#30\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded a haptic feedback at 50% and snap to it for the linear center sliders.\u003c/li\u003e\n\u003cli\u003eShow the handle view also at 100% for linear sliders.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.8\u003c/h2\u003e\n\u003ch2\u003eNew option \u003ccode\u003e.simultaneousGesture\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAttaches a simultaneous gesture to the slider and it has less priority than \u003ccode\u003e.highPriorityGesture\u003c/code\u003e option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew demo \u003ccode\u003eSlidersInScrollView\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eShows an example of sliders in a sheet and in a \u003ccode\u003eScrollView\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003e2.0.7\u003c/h2\u003e\n\u003cp\u003eFixed \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/25\"\u003e#25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.0.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/22\"\u003e#22\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded animation for progressDidChange (\u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/23\"\u003e#23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded a player demo for SystemSlider:\n\u003cimg src=\"https://github.com/user-attachments/assets/f13ac150-f34b-4018-8b98-d196e24fd849\" alt=\"player_demo\" /\u003e\u003c/p\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003cp\u003eFix bug \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/21\"\u003e#21\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.0.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003e.compactSliderOnChange\u003c/code\u003e modifier to observe configuration changes. The action calls on any configuration state or progress changes.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eFocusState.isWheelScrolling\u003c/code\u003e for macOS. It's also could be animated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre lang=\"swift\"\u003e\u003ccode\u003eCompactSlider(value: $value)\r\n    .compactSliderOnChange {  configuration in\r\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/52a01bd09156152881c53ba235c862e3bf5690b1\"\u003e\u003ccode\u003e52a01bd\u003c/code\u003e\u003c/a\u003e Release notes for 2.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/eac6e4d22cfe85060783a6b834bfcf2d031b9acb\"\u003e\u003ccode\u003eeac6e4d\u003c/code\u003e\u003c/a\u003e Add more flexibility for the default scale \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/32\"\u003e#32\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/ec0adf5a18b80a81f5e67dc43b88f30ff88677b3\"\u003e\u003ccode\u003eec0adf5\u003c/code\u003e\u003c/a\u003e Make the default scale adjustable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/2d3ca5b04e0e4559084c02d523c1b6865ccbefbb\"\u003e\u003ccode\u003e2d3ca5b\u003c/code\u003e\u003c/a\u003e Fix the progress range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/af891fb52da92bbd05d9e451db117928a3c0867d\"\u003e\u003ccode\u003eaf891fb\u003c/code\u003e\u003c/a\u003e Add CLAUDE.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/9067de760db7467b571f617e11bd9217889ec849\"\u003e\u003ccode\u003e9067de7\u003c/code\u003e\u003c/a\u003e Add precisionControl. Improvements for \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/33\"\u003e#33\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/f07c7a5d03a2d9541aae1b7ebff861b77561ee31\"\u003e\u003ccode\u003ef07c7a5\u003c/code\u003e\u003c/a\u003e Show the handler also at 100%\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/601c62e5072abcb25db591417456ee4a73d33b4c\"\u003e\u003ccode\u003e601c62e\u003c/code\u003e\u003c/a\u003e Add haptic for 50%\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/d1f5eb4201d5f440f321d8af5adf8033d7bc3be5\"\u003e\u003ccode\u003ed1f5eb4\u003c/code\u003e\u003c/a\u003e Fix warnings \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/30\"\u003e#30\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/8fe10bfefc283849f8abc8747c761d3db32ff4a7\"\u003e\u003ccode\u003e8fe10bf\u003c/code\u003e\u003c/a\u003e Update SlidersInScrollView demo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/buh/CompactSlider/compare/1.2.1...52a01bd09156152881c53ba235c862e3bf5690b1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/ukushu/ifrit` from 2.0.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ukushu/Ifrit/releases\"\u003egithub.com/ukushu/ifrit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ev4.0.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eLevenstain\u003c/code\u003e to \u003ccode\u003eLevenstein\u003c/code\u003e (Breaked backward compatibility)\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eLevenstein\u003c/code\u003e performance by implementing \u003ccode\u003eLevensteinBitap\u003c/code\u003e algorithm\u003c/li\u003e\n\u003cli\u003eNow you can choose which one algorithm do you want to use in Levenstain. You can choose: \u003ccode\u003e.text\u003c/code\u003e and \u003ccode\u003e.bitap\u003c/code\u003e. Default is \u003ccode\u003e.bitap\u003c/code\u003e because of it's much-much faster.\u003c/li\u003e\n\u003cli\u003eSeparated \u003ccode\u003eLevenstein\u003c/code\u003e and \u003ccode\u003eFuzzyFind\u003c/code\u003e, because of \u003ccode\u003eFuzzyFind\u003c/code\u003e is not related to \u003ccode\u003eLevenstein\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplemented and used \u003ccode\u003eBitapFilter\u003c/code\u003e inside of \u003ccode\u003eFuzzyFind\u003c/code\u003e to improve performance \u003ccode\u003eFuzzyFind\u003c/code\u003e's performance\u003c/li\u003e\n\u003cli\u003eImproved tests\u003c/li\u003e\n\u003cli\u003eMinor documentation fixes\u003c/li\u003e\n\u003cli\u003eOther minor improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange default \u003ccode\u003eobjSortStrategy\u003c/code\u003e to \u003ccode\u003e.minimalScore\u003c/code\u003e (breaked backward compatibility)\u003c/li\u003e\n\u003cli\u003eImproved documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ukushu/Ifrit/blob/main/CHANGELOG.md\"\u003egithub.com/ukushu/ifrit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ev4.0.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eLevenstain\u003c/code\u003e to \u003ccode\u003eLevenstein\u003c/code\u003e (Breaked backward compatibility)\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eLevenstein\u003c/code\u003e performance by implementing \u003ccode\u003eLevensteinBitap\u003c/code\u003e algorythm\u003c/li\u003e\n\u003cli\u003eNow you can choose which one algorythm do you want to use in Levenstain. You can choose: \u003ccode\u003e.text\u003c/code\u003e and \u003ccode\u003e.bitap\u003c/code\u003e. Default is \u003ccode\u003e.bitap\u003c/code\u003e because of it's much-much faster.\u003c/li\u003e\n\u003cli\u003eSeparated \u003ccode\u003eLevenstein\u003c/code\u003e and \u003ccode\u003eFuzzyFind\u003c/code\u003e, because of \u003ccode\u003eFuzzyFind\u003c/code\u003e is not related to \u003ccode\u003eLevenstein\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplemented and used \u003ccode\u003eBitapFilter\u003c/code\u003e inside of \u003ccode\u003eFuzzyFind\u003c/code\u003e to improve performance \u003ccode\u003eFuzzyFind\u003c/code\u003e's performance\u003c/li\u003e\n\u003cli\u003eImproved tests\u003c/li\u003e\n\u003cli\u003eMinor documentation fixes\u003c/li\u003e\n\u003cli\u003eOther minor improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ev3.0.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange default \u003ccode\u003eobjSortStrategy\u003c/code\u003e to \u003ccode\u003e.minimalScore\u003c/code\u003e (breaked backward compatibility)\u003c/li\u003e\n\u003cli\u003eImproved documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ukushu/Ifrit/compare/2.0.6...7c889a67bad90c5efefa56889b2d61bfbb831473\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.8.0 to 2.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.4 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains an activation fix for backgrounded / dockless applications using Sparkle's standard user interface.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.3 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix updating not working the first time if the app's bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a very specific installation fix for apps that use a bundle identifier ending with .app\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/blob/2.x/CHANGELOG\"\u003egithub.com/sparkle-project/sparkle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.9.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.3\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix updating not working the first time if the app's bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential crash due to race condition within clearDownloadedUpdate (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2863\"\u003e#2863\u003c/a\u003e) (Julian Pscheid)\u003c/li\u003e\n\u003cli\u003eFix generate_appcast failing if feed URL doesn't have lastPathComponent (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2862\"\u003e#2862\u003c/a\u003e) (Julian Pscheid)\u003c/li\u003e\n\u003cli\u003eDon't let progress status text title string line wrap (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2856\"\u003e#2856\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd minimal framework support for building arm64e (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2858\"\u003e#2858\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2860\"\u003e#2860\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd SKIP_INSTALL=YES to for XPCServices targets (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2864\"\u003e#2864\u003c/a\u003e) (Jeremy Huddleston Sequoia)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd basic markdown support for release notes (requires macOS 12+) including \u003ca href=\"https://sparkle-project.org/documentation/publishing#adapting-markdown-or-plain-text-release-notes\"\u003ecustomizing its presentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2810\"\u003e#2810\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2817\"\u003e#2817\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://sparkle-project.org/documentation#signing-feeds-optional\"\u003esigning and verifying appcast feeds\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2822\"\u003e#2822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2828\"\u003e#2828\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://sparkle-project.org/documentation/publishing#minimum-system-version-requirements\"\u003esparkle:hardwareRequirements\u003c/a\u003e for enforcing an Apple silicon (arm64) requirement (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2797\"\u003e#2797\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://sparkle-project.org/documentation/publishing/#upgrading-to-newer-features\"\u003esparkle:minimumUpdateVersion\u003c/a\u003e for specifying a minimum version an app needs to be on before upgrading (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2811\"\u003e#2811\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd API annotations for Swift concurrency (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2827\"\u003e#2827\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eValidate Obj-C class when reading objects from user defaults / Info plists (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2782\"\u003e#2782\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDownload temporary files in-memory using NSURLSessionDataTask (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2825\"\u003e#2825\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAllow \u003ca href=\"https://sparkle-project.org/documentation/customization/\"\u003eimpatient update check interval\u003c/a\u003e to be configured for updates that are downloaded automatically (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2799\"\u003e#2799\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eProbe agent \u0026amp; status service as soon as we launch it to reduce timeout issues (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2852\"\u003e#2852\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eallowsAutomaticUpdates\u003c/code\u003e property to determine if automatic downloading/installing of updates option should be enabled (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2809\"\u003e#2809\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd Vietnamese translation (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2816\"\u003e#2816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2839\"\u003e#2839\u003c/a\u003e) (TranPhuong319)\u003c/li\u003e\n\u003cli\u003eAdd missing nn language to Installer progress Info.plist (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2818\"\u003e#2818\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eImprove German localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2847\"\u003e#2847\u003c/a\u003e) (Marco Hillger)\u003c/li\u003e\n\u003cli\u003eFind non-canonical Sparkle.framework locations in generate_appcast when creating delta updates to determine compatibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2833\"\u003e#2833\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003e\u003ccode\u003eac2def2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/de8eb17d170ab6a660a478e477417ff04ef3b2e3\"\u003e\u003ccode\u003ede8eb17\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/f6bc73a38cab825765435af34f7e1dc8bb04242b\"\u003e\u003ccode\u003ef6bc73a\u003c/code\u003e\u003c/a\u003e Harden safety of installer moving the download archive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/51245ef5b915cd9bc6e8f991f7a74586a50745e1\"\u003e\u003ccode\u003e51245ef\u003c/code\u003e\u003c/a\u003e Reject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c34faaed4cd4156653aea8aac23fe0b6bd497257\"\u003e\u003ccode\u003ec34faae\u003c/code\u003e\u003c/a\u003e Don't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/b6496a74a087257ef5e6da1c5b29a447a60f5bd7\"\u003e\u003ccode\u003eb6496a7\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/4ba9745eca7186b85c466663e627637cee8f2b1d\"\u003e\u003ccode\u003e4ba9745\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.9.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.8.0...ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/Mabry-Ventures/Barline/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mabry-Ventures%2FBarline/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"},{"uuid":"5136905175","node_id":"PR_kwDOSB4jqM7-WqQb","number":63,"state":"closed","title":"build(deps): bump the swift-deps group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-04T05:37:58.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-13T01:39:58.000Z","updated_at":"2026-09-04T05:38:00.000Z","time_to_close":1915080,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/orchetect/menubarextraaccess","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/orchetect/MenuBarExtraAccess"},{"name":"github.com/apple/swift-log","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.4","new_version":"2.9.6","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps the swift-deps group with 3 updates in the /apps/macos directory: [github.com/orchetect/menubarextraaccess](https://github.com/orchetect/MenuBarExtraAccess), [github.com/apple/swift-log](https://github.com/apple/swift-log) and [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle).\n\nUpdates `github.com/orchetect/menubarextraaccess` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/releases\"\u003egithub.com/orchetect/menubarextraaccess's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.1\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for macOS 27 beta 4 (\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/25\"\u003e#25\u003c/a\u003e/\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e)[^1]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e[^1]: Thanks to \u003ca href=\"https://github.com/samhenrigold\"\u003e\u003ccode\u003e@​samhenrigold\u003c/code\u003e\u003c/a\u003e for the PR!\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/e93e3a5b814714bf4d4cea67bf63a6b6a8323968\"\u003e\u003ccode\u003ee93e3a5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e from samhenrigold/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/52007d7434b4cbb1a03db5d037d4e0ae3ae6f414\"\u003e\u003ccode\u003e52007d7\u003c/code\u003e\u003c/a\u003e Updated local package reference path in example projects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/cd9d32a6e5c3e9249df2c26a4cdc87062a129c04\"\u003e\u003ccode\u003ecd9d32a\u003c/code\u003e\u003c/a\u003e Support macOS 27 expanded interface session machinery\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/509350b7c661d04ba94ba59db901532ed3094fa2\"\u003e\u003ccode\u003e509350b\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/7532b22240886e001c843d7e46cbaa6507ccd8fe\"\u003e\u003ccode\u003e7532b22\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/3da3e5f576f0fd953c8c2023d3aa30502d79d2b3\"\u003e\u003ccode\u003e3da3e5f\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/37795b8ce26c73a84c0e91dc04509751646ef8c2\"\u003e\u003ccode\u003e37795b8\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/a7ef1d205208bc861ea81bc4f8e9cfe6ec031e8b\"\u003e\u003ccode\u003ea7ef1d2\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/f53b048806ce4e2f69690f206dba36b99d4ec1f3\"\u003e\u003ccode\u003ef53b048\u003c/code\u003e\u003c/a\u003e SwiftFormat pass\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/ffa72c355a0aca64f75c0901f7420981bcd362f4\"\u003e\u003ccode\u003effa72c3\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/compare/1.3.0...1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/apple/swift-log` from 1.14.0 to 1.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.15.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eStreamLogHandler\u003c/code\u003e initializers public by \u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Xcode tests by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/473\"\u003eapple/swift-log#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing api refs by \u003ca href=\"https://github.com/heckj\"\u003e\u003ccode\u003e@​heckj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/478\"\u003eapple/swift-log#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd testing logs best practice by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/475\"\u003eapple/swift-log#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CMake support for Swift targets and test configurations by \u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/496\"\u003eapple/swift-log#496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate implemented proposals status by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/476\"\u003eapple/swift-log#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.11 to 0.0.12 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/480\"\u003eapple/swift-log#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 to 0.0.13 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/486\"\u003eapple/swift-log#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to construct log handlers that need more than a label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/490\"\u003eapple/swift-log#490\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.0\"\u003ehttps://github.com/apple/swift-log/compare/1.14.0...1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3ffafb9722d5d918c614feb496c8789a3b59d222\"\u003e\u003ccode\u003e3ffafb9\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/496\"\u003e#496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/7af2de138f5f0fddf0bd5c7e19face6944ed76af\"\u003e\u003ccode\u003e7af2de1\u003c/code\u003e\u003c/a\u003e Document how to construct log handlers that need more than a label (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/e83726cb1573fad8a9972d68136f8f259841b25c\"\u003e\u003ccode\u003ee83726c\u003c/code\u003e\u003c/a\u003e Add CMake support for Swift targets and test configurations (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/8056dbfb08ab96bf959efbdb7a6fa8be4dd8f04c\"\u003e\u003ccode\u003e8056dbf\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1032aed8a5c20aeb41c3dd40fc82cad623598e1b\"\u003e\u003ccode\u003e1032aed\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.11 t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1895d78a91cb6c0ae8d633a2a4d91670ed5a2733\"\u003e\u003ccode\u003e1895d78\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eStreamLogHandler\u003c/code\u003e initializers public (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/8a6b9eab8446418dd712738f02789341de0934d3\"\u003e\u003ccode\u003e8a6b9ea\u003c/code\u003e\u003c/a\u003e Add testing logs best practice (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/c4e96785bfe44458549086909c4f125901da997c\"\u003e\u003ccode\u003ec4e9678\u003c/code\u003e\u003c/a\u003e Add missing api refs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/478\"\u003e#478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/54ec9e35cde583443ff9373e03c1f2cb9b8cd515\"\u003e\u003ccode\u003e54ec9e3\u003c/code\u003e\u003c/a\u003e Update implemented proposals status (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/476\"\u003e#476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/e3b5d65fc93a7258c5839436f3fd087bc6681671\"\u003e\u003ccode\u003ee3b5d65\u003c/code\u003e\u003c/a\u003e Enable Xcode tests (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.4 to 2.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003e\u003ccode\u003eac2def2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/de8eb17d170ab6a660a478e477417ff04ef3b2e3\"\u003e\u003ccode\u003ede8eb17\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/f6bc73a38cab825765435af34f7e1dc8bb04242b\"\u003e\u003ccode\u003ef6bc73a\u003c/code\u003e\u003c/a\u003e Harden safety of installer moving the download archive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/51245ef5b915cd9bc6e8f991f7a74586a50745e1\"\u003e\u003ccode\u003e51245ef\u003c/code\u003e\u003c/a\u003e Reject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c34faaed4cd4156653aea8aac23fe0b6bd497257\"\u003e\u003ccode\u003ec34faae\u003c/code\u003e\u003c/a\u003e Don't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.4...2.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/jckm14/openclaw/pull/63","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jckm14%2Fopenclaw/issues/63","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/63/packages"},{"uuid":"5064712472","node_id":"PR_kwDOTknthM76wXI8","number":11,"state":"closed","title":"build(deps): bump the swift-deps group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-08-07T20:42:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-04T20:41:30.000Z","updated_at":"2026-08-07T20:42:30.000Z","time_to_close":259258,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.4","new_version":"2.9.5","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.9.6","new_version":"3.9.9","repository_url":"https://github.com/steipete/Peekaboo"},{"name":"github.com/pointfreeco/swift-concurrency-extras","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/pointfreeco/swift-concurrency-extras"}],"path":null,"ecosystem":"swift"},"body":"Bumps the swift-deps group with 3 updates in the /apps/macos directory: [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle), [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo) and [github.com/pointfreeco/swift-concurrency-extras](https://github.com/pointfreeco/swift-concurrency-extras).\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.4 to 2.9.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.4...2.9.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.9.6 to 3.9.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.9.9\u003c/h2\u003e\n\u003ch2\u003e[3.9.9] - 2026-08-02\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh Swift package locks, AXorcist, Tachikoma, and the pnpm toolchain to their latest compatible releases.\u003c/li\u003e\n\u003cli\u003eRestructure the Mac app's status bar menu with a live permission status, primary destinations first, one Permissions entry, housekeeping grouped at the bottom, and context menus anchored beneath the status item.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAI OAuth (ChatGPT login) sessions with an expired access token but valid refresh token are no longer reported unavailable; vision/\u003ccode\u003e--analyze\u003c/code\u003e now routes through the Codex Responses OAuth transport. Thanks \u003ca href=\"https://github.com/scotthuang\"\u003e\u003ccode\u003e@​scotthuang\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/293\"\u003e#293\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eMCP shell commands now support an opt-in timeout that safely terminates the launch-owned process group and bounds pipe draining without changing the legacy unlimited default. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/298\"\u003e#298\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePublish the Ollama provider guides referenced throughout the generated documentation instead of emitting broken links.\u003c/li\u003e\n\u003cli\u003eRefresh Screen Recording and Event Synthesizing grants in the Mac app's permissions checklist without requiring an app restart.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVerification\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.9.9\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.9.9\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.9.9.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.9.9.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrity: sha512-7f9wbLXyfQQH/owD9PWMkCE4Yn9FN5qnvD1Opb0k1wvWlrVn0CuYrhax5fez9MttXSptTxjSPZC/E+/oZR39QA==\u003c/li\u003e\n\u003cli\u003ePublished: 2026-08-02T20:31:02.953Z, dist-tag latest -\u0026gt; 3.9.9\u003c/li\u003e\n\u003cli\u003eSigning: Developer ID Application: OpenClaw Foundation (FWJYW4S8P8); CLI, app, and DMG notarized and stapled (CLI submission 4ce2cfe0-4635-48de-8715-b21506c58814); release artifact verification passed with strict codesign + Gatekeeper checks\u003c/li\u003e\n\u003cli\u003eTests: PeekabooCore, CLI, AutomationKit, and Mac app suites green locally and in CI on main (permissions 12/12, status bar 10/10, OAuth 15/15); release built from main at 9e1cb72f\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.9.8\u003c/h2\u003e\n\u003ch2\u003e[3.9.8] - 2026-07-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent MCP shell commands from deadlocking when either stdout or stderr exceeds its pipe buffer by draining both streams concurrently. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/292\"\u003e#292\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVerification\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe universal CLI, npm payload, app ZIP, and DMG are signed by \u003ccode\u003eDeveloper ID Application: OpenClaw Foundation (FWJYW4S8P8)\u003c/code\u003e; the CLI, app, and DMG were accepted by Apple notarization, and the app and DMG tickets were stapled and validated.\u003c/li\u003e\n\u003cli\u003eThe app ZIP has Sparkle EdDSA signature \u003ccode\u003eZgsOGc31JUIVfMAVdNlROjbFjySGgyRoPpxcSfvWg5seb377C/XEPjyTOOpMGqD1x9IdsK08qUosiV/TX0RsCg==\u003c/code\u003e and byte length \u003ccode\u003e17015855\u003c/code\u003e in the appcast.\u003c/li\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.9.8\"\u003e@​steipete/peekaboo@3.9.8\u003c/a\u003e, \u003ccode\u003elatest\u003c/code\u003e, tarball \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.9.8.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.9.8.tgz\u003c/a\u003e, integrity \u003ccode\u003esha512-nVSHfZfFviuo4b4UvD0Duf/Cyp9IGwcLRNNeXUecBWgDHxcuz+R1jgDKXVWKTvzY1/5CaWBUbzINPhqgH6YgLw==\u003c/code\u003e, published 2026-07-23T18:34:40.256Z.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.9.7\u003c/h2\u003e\n\u003ch2\u003e[3.9.7] - 2026-07-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRestore standalone and npm CLI launches on macOS 15 by bundling every Swift back-deployment compatibility library required by the release binary and rejecting dangling compatibility dependencies during release verification. Thanks \u003ca href=\"https://github.com/gyfis\"\u003e\u003ccode\u003e@​gyfis\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/291\"\u003e#291\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCanceling during a ScreenCaptureKit transient-denial retry sleep now stops before a second capture attempt or permission probe. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/289\"\u003e#289\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePrevent dialog discovery and element traversal from recursing indefinitely when an app reports cyclic accessibility relationships.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVerification\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe extracted universal tarball built and launched on macOS 15.7.7 in \u003ca href=\"https://github.com/openclaw/Peekaboo/actions/runs/29895951038\"\u003eActions run 29895951038\u003c/a\u003e, resolving the bundled Swift compatibility runtime.\u003c/li\u003e\n\u003cli\u003eThe standalone CLI, app zip, and DMG were signed with \u003ccode\u003eDeveloper ID Application: OpenClaw Foundation (FWJYW4S8P8)\u003c/code\u003e and notarized; the app and DMG were stapled and verified.\u003c/li\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.9.7\"\u003e@​steipete/peekaboo@3.9.7\u003c/a\u003e, \u003ccode\u003elatest\u003c/code\u003e, tarball \u003ccode\u003ehttps://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.9.7.tgz\u003c/code\u003e, integrity \u003ccode\u003esha512-EnX+5JBrBYluKzgHcADb1blGkXREga1T4BAPyCVS4lDIK6JX21j5Lyk1W6TaTx5BXmTAQ/UhEYRX073097bxLQ==\u003c/code\u003e, published 2026-07-22T07:04:56.807Z.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/2f33de3bb572caa7c9a4b3c50834585e15dce537\"\u003e\u003ccode\u003e2f33de3\u003c/code\u003e\u003c/a\u003e test(dock): cover bounded process waits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/388b2d6cbaa85fc24307f2d097587d5aeb3e3e80\"\u003e\u003ccode\u003e388b2d6\u003c/code\u003e\u003c/a\u003e fix(dock): make process wait helper Sendable and call as static\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/96fc9b9706b9205b7b3363e52bc3d2f027a54b37\"\u003e\u003ccode\u003e96fc9b9\u003c/code\u003e\u003c/a\u003e fix(dock): bound Process waits so wedged dock helpers cannot hang\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/9e1cb72f058da85b754f5dea329710829ac649a9\"\u003e\u003ccode\u003e9e1cb72\u003c/code\u003e\u003c/a\u003e build(deps): pin Tachikoma 0.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/d00aa2908ef10813cd9515ec0b8f2bf2f7527c59\"\u003e\u003ccode\u003ed00aa29\u003c/code\u003e\u003c/a\u003e style: format status bar controller\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/096b7aef16e13e88ee8ada3e77d540e92cedfbb2\"\u003e\u003ccode\u003e096b7ae\u003c/code\u003e\u003c/a\u003e style: format status bar test expectation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/cdf15aae18e5ef6c99399a158233e2031940d4a4\"\u003e\u003ccode\u003ecdf15aa\u003c/code\u003e\u003c/a\u003e chore(release): read codesign keychain locator from Molty service account\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/42142f6dda7ba8d67e9873faa96bcf4884c73d63\"\u003e\u003ccode\u003e42142f6\u003c/code\u003e\u003c/a\u003e feat(mac): restructure status bar menu with status line and native anchoring ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/431f0a5d33ede81bbd2c6a2df8396334acf6d9d6\"\u003e\u003ccode\u003e431f0a5\u003c/code\u003e\u003c/a\u003e style: apply swiftformat 0.62.1 output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/c1487c8d67833a8d3034671d1b2cb1a0b97c2857\"\u003e\u003ccode\u003ec1487c8\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.9.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.9.6...v3.9.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pointfreeco/swift-concurrency-extras` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/releases\"\u003egithub.com/pointfreeco/swift-concurrency-extras's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Align .taskLocal trait to match proposal. \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/74\"\u003epointfreeco/swift-concurrency-extras#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Enable upcoming features \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/66\"\u003epointfreeco/swift-concurrency-extras#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Add docs badge to readme \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/73\"\u003epointfreeco/swift-concurrency-extras#73\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5fa253428866f2360c3754e88537f700ed2656b5\"\u003e\u003ccode\u003e5fa2534\u003c/code\u003e\u003c/a\u003e Run swift-format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/a0ce76ac7a4632a8dad75b2d87958587c56921c5\"\u003e\u003ccode\u003ea0ce76a\u003c/code\u003e\u003c/a\u003e Align .taskLocal trait to match proposal. (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/74\"\u003e#74\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/d77f692b459322fbec763c9e6e637233e8b972ef\"\u003e\u003ccode\u003ed77f692\u003c/code\u003e\u003c/a\u003e Add docs badge to readme (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/73\"\u003e#73\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/222b539117e97856d1570dade68486ff9d0ae6cd\"\u003e\u003ccode\u003e222b539\u003c/code\u003e\u003c/a\u003e Remove warning treatment for Swift 6.4 and above\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/55e06b34fcfa4471d0aac13f1406ac4405916e5e\"\u003e\u003ccode\u003e55e06b3\u003c/code\u003e\u003c/a\u003e Enable upcoming features (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Ben-Jianming/openclaw-pqc/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ben-Jianming%2Fopenclaw-pqc/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4823660870","node_id":"PR_kwDOTJhe987uky70","number":17,"state":"open","title":"build(deps): bump the swift-deps group in /apps/macos with 4 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":11,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-06T22:46:52.000Z","updated_at":"2026-07-20T21:46:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":4,"packages":[{"name":"github.com/apple/swift-log","old_version":"1.13.2","new_version":"1.14.0","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.3","new_version":"2.9.4","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.5.2","new_version":"3.6.0","repository_url":"https://github.com/steipete/Peekaboo"},{"name":"github.com/pointfreeco/swift-concurrency-extras","old_version":"1.3.2","new_version":"1.4.0","repository_url":"https://github.com/pointfreeco/swift-concurrency-extras"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 4 updates: [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle), [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo) and [github.com/pointfreeco/swift-concurrency-extras](https://github.com/pointfreeco/swift-concurrency-extras).\n\nUpdates `github.com/apple/swift-log` from 1.13.2 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[SLG-0006]: task-local logger implementation by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/459\"\u003eapple/swift-log#459\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[SLG-0006]: task-local logger proposal by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/460\"\u003eapple/swift-log#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 6 to 7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/472\"\u003eapple/swift-log#472\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.13.2...1.14.0\"\u003ehttps://github.com/apple/swift-log/compare/1.13.2...1.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/a878e7f8f46cfc0e1125e565b5c08e7d5272dc9a\"\u003e\u003ccode\u003ea878e7f\u003c/code\u003e\u003c/a\u003e [SLG-0006]: task-local logger implementation (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/459\"\u003e#459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/2c52ee25d21aee7f204b6aa76f8771447c378202\"\u003e\u003ccode\u003e2c52ee2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6 to 7 (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/ca6118469893201380f29a4d67feb68bcb44fa25\"\u003e\u003ccode\u003eca61184\u003c/code\u003e\u003c/a\u003e [SLG-0006]: task-local logger proposal (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apple/swift-log/compare/1.13.2...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.3 to 2.9.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.4 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains an activation fix for backgrounded / dockless applications using Sparkle's standard user interface.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/b6496a74a087257ef5e6da1c5b29a447a60f5bd7\"\u003e\u003ccode\u003eb6496a7\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/4ba9745eca7186b85c466663e627637cee8f2b1d\"\u003e\u003ccode\u003e4ba9745\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/1ec540d5378e6e882a8341c47e682dba0012ee1d\"\u003e\u003ccode\u003e1ec540d\u003c/code\u003e\u003c/a\u003e Use activateIgnoringOtherApps: again for backgrounded apps (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.3...2.9.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.5.2 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePeekaboo 3.6.0\u003c/h2\u003e\n\u003ch2\u003e[3.6.0] - 2026-07-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eVisualizer animations were redesigned around a single \u0026quot;Ghost HUD\u0026quot; design language: one violet accent with red reserved for destructive operations, dark translucent HUD chips, and a shared motion vocabulary. Clicks show a targeting reticle with impact pulses (dashed ring for right-click), typing streams the actual keystrokes into a caption pill instead of a fake QWERTY keyboard, hotkeys press real macOS-style keycaps in sequence, mouse moves and drags trace a glowing comet with press/release rings, scrolls show flowing chevrons with a count tag, screenshots snap viewfinder brackets, and app lifecycle, window operations, menu paths, dialogs, and Space switches render as matching HUD toasts, outlines, and breadcrumbs.\u003c/li\u003e\n\u003cli\u003eAgent-skill documentation now defines Peekaboo as the authority for product and workflow guidance while allowing distributors such as OpenClaw to ship release-pinned snapshots with host-specific overlays.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBridge hosts now always return a non-empty decodable error when error encoding fails, instead of surfacing EOF or a secondary decode failure. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/211\"\u003e#211\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSnapshot listing and cleanup now propagate lock-open failures instead of treating unavailable storage as an empty snapshot list. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/212\"\u003e#212\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eVisual feedback now uses one explicit Core Graphics/Accessibility-to-AppKit coordinate boundary, fixing mirrored or offset click, scroll, trail, swipe, window, dialog, capture, annotated-screenshot, and element-detection overlays across primary and vertically arranged displays without applying Retina scale twice; refreshed element detections also retire stale sheets on screens with no new elements.\u003c/li\u003e\n\u003cli\u003eThe Sessions window no longer opens uninvited: it is suppressed at app launch, excluded from state restoration, no longer pops up when the running app is reopened programmatically, and the missing-API-key nudge shows it once instead of on every launch. Open it via the status-bar menu or ⌘⇧P as before.\u003c/li\u003e\n\u003cli\u003eAutomation services now route visual feedback to the visualizer by default; the wiring was never hooked up, so click, type, scroll, hotkey, swipe, mouse-move, window, menu, dialog, dock, Space-switch, and screenshot-flash animations were silently dropped even with Peekaboo.app running.\u003c/li\u003e\n\u003cli\u003eThe typing caption shows the typed text verbatim (that is its job); typing into secure text fields is masked as bullets before the event is persisted or displayed by sampling the delivery focus immediately before every text segment (including Tab-to-password sequences and background typing), and \u003ccode\u003ePEEKABOO_VISUALIZER_MASK_TYPED_TEXT=true\u003c/code\u003e masks everything for privacy-sensitive setups.\u003c/li\u003e\n\u003cli\u003eHUD chip shadows and glows no longer clip into hard edges: every overlay window gets a chrome margin so gradients fade out naturally instead of getting cut off at the window border.\u003c/li\u003e\n\u003cli\u003eRapid agent action streams no longer flood the screen: screenshot flashes, scroll chips, mouse comets, and element sheets are throttled, short cursor hops skip the comet, and single-instance overlays (typing caption, hotkey chip, menu breadcrumb, Space indicator, app toast, element sheets) crossfade into their replacement instead of stacking.\u003c/li\u003e\n\u003cli\u003eElement-detection sheets drop window-sized container rects, cap at 120 highlights per screen, and render in one overlay window per screen instead of one window per element.\u003c/li\u003e\n\u003cli\u003eDebug Mac app builds are now signed with a development identity when one is available, so Screen Recording/Accessibility grants survive rebuilds instead of resetting (and re-prompting) on every build; machines without a certificate keep the unsigned fallback.\u003c/li\u003e\n\u003cli\u003eVisualizer overlays now center on their target instead of pinning to the window's top-leading corner, which had offset click feedback by its padding and clipped or truncated HUD widgets.\u003c/li\u003e\n\u003cli\u003eMouse-trail and swipe visualizations now convert screen coordinates into window-local space with the correct Y-flip, so the paths render along the cursor's actual travel instead of drawing outside the overlay window.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe visualizer keyboard-theme setting (\u003ccode\u003evisualizerKeyboardTheme\u003c/code\u003e, config \u003ccode\u003evisualizer.keyboardTheme\u003c/code\u003e) is gone; it only themed the removed QWERTY typing widget and never affected anything else.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eVerification\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSource: lightweight \u003ccode\u003ev3.6.0\u003c/code\u003e tag at \u003ccode\u003e521703e21c6ce0337f2b407dceb228c6233fa698\u003c/code\u003e; product head \u003ccode\u003eb733ca14d241d65172db6d9f75d0f43b1bb3674b\u003c/code\u003e passed \u003ca href=\"https://github.com/openclaw/Peekaboo/actions/runs/28694277079\"\u003eexact-head CI\u003c/a\u003e across Core, CLI, Tachikoma, SwiftLint, and macOS app jobs. The tag adds only the validated appcast entry.\u003c/li\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.6.0\"\u003e\u003ccode\u003e@steipete/peekaboo@3.6.0\u003c/code\u003e\u003c/a\u003e, published 2026-07-04T04:30:50.911Z with \u003ccode\u003elatest=3.6.0\u003c/code\u003e; \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.6.0.tgz\"\u003eregistry tarball\u003c/a\u003e; integrity \u003ccode\u003esha512-Guyvpct6BaAs8NKDc2zI0hFFwOPuOScRqYISo5wxE112sDLVIs8BjPPlE2hj7UCjX2DsAZEVKiM22m7O+Y73tA==\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo-macos-universal.tar.gz\u003c/code\u003e: 20,215,045 bytes; SHA-256 \u003ccode\u003ec548874c433740fac2c15fb3a8d350802db4c3a2fdb1a80393a365f082baeeaa\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esteipete-peekaboo-3.6.0.tgz\u003c/code\u003e: 20,221,534 bytes; SHA-256 \u003ccode\u003e8f77f0bf8989d86126e892251f3b3737ec11a42771a2ea8c8419bebb221c4f18\u003c/code\u003e; registry tarball byte-identical.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ePeekaboo-3.6.0.app.zip\u003c/code\u003e: 14,827,187 bytes; SHA-256 \u003ccode\u003e34bb7d12b884b2bf8bd2260c34a3c68f76c48ec04491dd7f77ba184614517b62\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCLI and npm binaries contain both \u003ccode\u003earm64\u003c/code\u003e and \u003ccode\u003ex86_64\u003c/code\u003e slices, report \u003ccode\u003ePeekaboo 3.6.0 (main/b733ca14)\u003c/code\u003e, and are Developer ID signed.\u003c/li\u003e\n\u003cli\u003eApp: Developer ID signed, Apple-notarized (\u003ccode\u003e53297dea-db07-4261-8108-debcd3193071\u003c/code\u003e), stapled, accepted by Gatekeeper, and verified with Sparkle signature \u003ccode\u003e5QgJcsbsZdEbgTiwUbwAvNjcba1FvI6V+xSyvTXM2xUINPaXVK1aWgR6V8wuNqKbht2ot6TTNkogvY+qul2CAA==\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.5.4\u003c/h2\u003e\n\u003ch2\u003e[3.5.4] - 2026-07-03\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMiniMax-M3 can now power screenshot analysis and agent runs through the global and China MiniMax routes. Thanks \u003ca href=\"https://github.com/Tugser\"\u003e\u003ccode\u003e@​Tugser\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/191\"\u003e#191\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eKimi K2.6 and K2.7 Code can now power screenshot analysis and agent runs through Moonshot's API. Thanks \u003ca href=\"https://github.com/Tugser\"\u003e\u003ccode\u003e@​Tugser\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/192\"\u003e#192\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCLI paste now completes and reports clipboard restoration before returning, warning without inviting a retry when delivery succeeded but restoration failed.\u003c/li\u003e\n\u003cli\u003eMCP paste now warns without suggesting a retry when clipboard restoration fails after delivery. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/210\"\u003e#210\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eMCP inline image capture now returns an explicit error when neither capture nor saved-file fallback contains image data, instead of reporting a successful zero-byte PNG. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/209\"\u003e#209\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSpeech recording now cancels and releases its recorder observer on stop and send, including after recorder errors. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/204\"\u003e#204\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eGo-to-Folder navigation now stops before typing or submitting when a required synthetic hotkey fails. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/206\"\u003e#206\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eDaemon launch, socket, and shutdown polling now stop promptly when their parent task is cancelled instead of spinning until the timeout. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/203\"\u003e#203\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePublic CLI, agent, MCP, and API guidance now treats runtime element IDs as opaque strings to copy exactly instead of implying role-specific ID shapes. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/194\"\u003e#194\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSparkle update checks no longer received a 3.5.3 enclosure before its release assets were public; the validated feed entry was restored after publication. Thanks \u003ca href=\"https://github.com/bcharleson\"\u003e\u003ccode\u003e@​bcharleson\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/199\"\u003e#199\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eJSON-only \u003ccode\u003epeekaboo see\u003c/code\u003e runs without \u003ccode\u003e--path\u003c/code\u003e now keep required screenshots in snapshot storage instead of leaving files on Desktop or exposing their temporary paths. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/196\"\u003e#196\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/521703e21c6ce0337f2b407dceb228c6233fa698\"\u003e\u003ccode\u003e521703e\u003c/code\u003e\u003c/a\u003e docs: update appcast for 3.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/b733ca14d241d65172db6d9f75d0f43b1bb3674b\"\u003e\u003ccode\u003eb733ca1\u003c/code\u003e\u003c/a\u003e fix(release): prefer managed signing identity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/12a37ee9d6113423d1aa0288e076e30eb8ecf98d\"\u003e\u003ccode\u003e12a37ee\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/210a2f878a323f2925ef5c82369694d32031fab9\"\u003e\u003ccode\u003e210a2f8\u003c/code\u003e\u003c/a\u003e Fix visualizer coordinate and secure typing regressions (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/214\"\u003e#214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/6b5a0061772396216beca6f971aa52257c09274b\"\u003e\u003ccode\u003e6b5a006\u003c/code\u003e\u003c/a\u003e Visualizer polish: unclipped chrome, verbatim typing captions, overlay coales...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/77cc2f644a78270e536725dfedd23bfebeaf51d3\"\u003e\u003ccode\u003e77cc2f6\u003c/code\u003e\u003c/a\u003e fix(scripts): stop committer from force-adding gitignored files under directo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/3cf0088deb42fe66893bf2f100960dcf62457698\"\u003e\u003ccode\u003e3cf0088\u003c/code\u003e\u003c/a\u003e docs(changelog): keep 3.6.0 unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/eea7cc2d1e5fa19be19499d7c5978cf942044dba\"\u003e\u003ccode\u003eeea7cc2\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/e8d97b4703c9298527cd2199c7e4dcacca23b099\"\u003e\u003ccode\u003ee8d97b4\u003c/code\u003e\u003c/a\u003e style: format daemon cancellation proof\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/9e1867d5d18a87e45a30bf87a50d3455007ae1b2\"\u003e\u003ccode\u003e9e1867d\u003c/code\u003e\u003c/a\u003e docs: define agent skill distribution ownership\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.5.2...v3.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pointfreeco/swift-concurrency-extras` from 1.3.2 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/releases\"\u003egithub.com/pointfreeco/swift-concurrency-extras's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: A new \u003ccode\u003eConcurrencyExtrasTestSupport\u003c/code\u003e module with \u003ccode\u003eTaskLocalTrait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/65\"\u003epointfreeco/swift-concurrency-extras#65\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed: \u003ccode\u003eResult.init(catching:)\u003c/code\u003e is now \u003ccode\u003enonisolated(nonsending)\u003c/code\u003e (thanks \u003ca href=\"https://github.com/rhysm94\"\u003e\u003ccode\u003e@​rhysm94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/61\"\u003epointfreeco/swift-concurrency-extras#61\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed: Enable \u003ccode\u003eNonisolatedNonsendingByDefault\u003c/code\u003e (thanks \u003ca href=\"https://github.com/davdroman\"\u003e\u003ccode\u003e@​davdroman\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/64\"\u003epointfreeco/swift-concurrency-extras#64\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eInfrastructure: Simplify Android CI (thanks \u003ca href=\"https://github.com/marcprux\"\u003e\u003ccode\u003e@​marcprux\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/53\"\u003epointfreeco/swift-concurrency-extras#53\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eInfrastructure: Bump package versioning requirements (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/58\"\u003epointfreeco/swift-concurrency-extras#58\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eInfrastructure: Update format.yml (thanks \u003ca href=\"https://github.com/rhysm94\"\u003e\u003ccode\u003e@​rhysm94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/62\"\u003epointfreeco/swift-concurrency-extras#62\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eInfrastructure: Bump CI (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/63\"\u003epointfreeco/swift-concurrency-extras#63\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marcprux\"\u003e\u003ccode\u003e@​marcprux\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/53\"\u003epointfreeco/swift-concurrency-extras#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rhysm94\"\u003e\u003ccode\u003e@​rhysm94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/61\"\u003epointfreeco/swift-concurrency-extras#61\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davdroman\"\u003e\u003ccode\u003e@​davdroman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/64\"\u003epointfreeco/swift-concurrency-extras#64\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.3.2...1.4.0\"\u003ehttps://github.com/pointfreeco/swift-concurrency-extras/compare/1.3.2...1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/a90e2e40a7a840a853dd29e57cbef5dbb72c9d5b\"\u003e\u003ccode\u003ea90e2e4\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eConcurrencyExtrasTestSupport\u003c/code\u003e with \u003ccode\u003eTaskLocalTrait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/65\"\u003e#65\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5766c2e1f581fc9702a881ec3ff08371d88e637c\"\u003e\u003ccode\u003e5766c2e\u003c/code\u003e\u003c/a\u003e Cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5d81c23fdb9715201c4015a1973ea7ab6bc06b37\"\u003e\u003ccode\u003e5d81c23\u003c/code\u003e\u003c/a\u003e Enable \u003ccode\u003eNonisolatedNonsendingByDefault\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/f9db8422fa13f554987eba71887f9652c4a46b9b\"\u003e\u003ccode\u003ef9db842\u003c/code\u003e\u003c/a\u003e Remove documentation workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/f7b9b8c62ed2533bf8ad1665ccd9e7a682c54d8f\"\u003e\u003ccode\u003ef7b9b8c\u003c/code\u003e\u003c/a\u003e Bump CI (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/63\"\u003e#63\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/e516f471ebfac46b04c22af03dcfcc25f48af760\"\u003e\u003ccode\u003ee516f47\u003c/code\u003e\u003c/a\u003e Run swift-format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/cb9c6e00c5c9691d905c4c460913e82ee45ac39e\"\u003e\u003ccode\u003ecb9c6e0\u003c/code\u003e\u003c/a\u003e Update format.yml (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/62\"\u003e#62\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/45bfc4e93340888206b247005a8224ab2e10b6e9\"\u003e\u003ccode\u003e45bfc4e\u003c/code\u003e\u003c/a\u003e Run swift-format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5fe9f3bdc0ade508cfbee611119ec87cc1c414f2\"\u003e\u003ccode\u003e5fe9f3b\u003c/code\u003e\u003c/a\u003e \u003ccode\u003enonisolated(nonsending)\u003c/code\u003e Result \u003ccode\u003einit\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/61\"\u003e#61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/d74eaaa106e66184655982433b10a2f2dffbe2ac\"\u003e\u003ccode\u003ed74eaaa\u003c/code\u003e\u003c/a\u003e Update package versioning (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/58\"\u003e#58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.3.2...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Artyomkun/openclaw/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artyomkun%2Fopenclaw/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"},{"uuid":"4800820086","node_id":"PR_kwDORyi9jc7tcuKS","number":117,"state":"closed","title":"chore(deps): bump github.com/sparkle-project/sparkle from 2.9.3 to 2.9.4","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-13T19:22:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-03T06:06:53.000Z","updated_at":"2026-07-13T19:22:50.000Z","time_to_close":911755,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.3","new_version":"2.9.4","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.3 to 2.9.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.4 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains an activation fix for backgrounded / dockless applications using Sparkle's standard user interface.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/b6496a74a087257ef5e6da1c5b29a447a60f5bd7\"\u003e\u003ccode\u003eb6496a7\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/4ba9745eca7186b85c466663e627637cee8f2b1d\"\u003e\u003ccode\u003e4ba9745\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/1ec540d5378e6e882a8341c47e682dba0012ee1d\"\u003e\u003ccode\u003e1ec540d\u003c/code\u003e\u003c/a\u003e Use activateIgnoringOtherApps: again for backgrounded apps (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.3...2.9.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.3\u0026new-version=2.9.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/fmasi/parley/pull/117","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmasi%2Fparley/issues/117","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/117/packages"},{"uuid":"4617057933","node_id":"PR_kwDOSyO_GM7kHpWk","number":9,"state":"closed","title":"build(deps): Bump the swift-deps group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-09T00:29:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T22:22:31.000Z","updated_at":"2026-06-09T01:32:30.000Z","time_to_close":7592,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/apple/swift-log","old_version":"1.12.0","new_version":"1.13.1","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.1","new_version":"2.9.2","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.2.1","new_version":"3.4.0","repository_url":"https://github.com/steipete/Peekaboo"}],"path":null,"ecosystem":"swift"},"body":"Bumps the swift-deps group with 3 updates in the /apps/macos directory: [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo).\n\nUpdates `github.com/apple/swift-log` from 1.12.0 to 1.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.13.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMatch \u003ccode\u003eDefaultStringInterpolation\u003c/code\u003e \u003ccode\u003eappendInterpolation \u003c/code\u003e overloads by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/469\"\u003eapple/swift-log#469\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.13.0...1.13.1\"\u003ehttps://github.com/apple/swift-log/compare/1.13.0...1.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.13.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes implementation by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/453\"\u003eapple/swift-log#453\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a source-breaking change of \u003ccode\u003eMetadataValue\u003c/code\u003e compatibility with custom string interpolations. Please see \u003ca href=\"https://redirect.github.com/apple/swift-log/issues/467\"\u003eapple/swift-log#467\u003c/a\u003e for details.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.1...1.13.0\"\u003ehttps://github.com/apple/swift-log/compare/1.12.1...1.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.12.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove readability by extracting separate types to their own files by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/444\"\u003eapple/swift-log#444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/465\"\u003eapple/swift-log#465\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate documentation to reflect recent changes by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/445\"\u003eapple/swift-log#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependabot to daily schedule by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/446\"\u003eapple/swift-log#446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to 0.0.11 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/447\"\u003eapple/swift-log#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake dependabot set  label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/448\"\u003eapple/swift-log#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for SwiftLogNoOpLogHandler by \u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup repository structure by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/451\"\u003eapple/swift-log#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable nightly 6.3 WASM builds by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/454\"\u003eapple/swift-log#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes proposal (revision 2) by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/440\"\u003eapple/swift-log#440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate macOS CI to Swift version inputs by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/457\"\u003eapple/swift-log#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShared workflows changed from Xcode XX.X to Xcode swift X.X by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/461\"\u003eapple/swift-log#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-package macOS benchmarks workflow by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/466\"\u003eapple/swift-log#466\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.12.1\"\u003ehttps://github.com/apple/swift-log/compare/1.12.0...1.12.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/2aed77ae5ec9a86d8fe42c12275e4c2653a286ee\"\u003e\u003ccode\u003e2aed77a\u003c/code\u003e\u003c/a\u003e Match \u003ccode\u003eDefaultStringInterpolation\u003c/code\u003e \u003ccode\u003eappendInterpolation \u003c/code\u003e overloads (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/7dc6101ae4dbe95cd3bc9cebad3b7cf8e49a7a63\"\u003e\u003ccode\u003e7dc6101\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes implementation (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/a012e0ad8a8a72de92b0e008c81a9b793f70e73a\"\u003e\u003ccode\u003ea012e0a\u003c/code\u003e\u003c/a\u003e Adopt multi-package macOS benchmarks workflow (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1069d31898fad2304edbdb9ddf30ddd6b3bcfb96\"\u003e\u003ccode\u003e1069d31\u003c/code\u003e\u003c/a\u003e Skip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3061a62b6d0cfed7c11b5b019fd81443a0beb172\"\u003e\u003ccode\u003e3061a62\u003c/code\u003e\u003c/a\u003e Shared workflows changed from Xcode XX.X to Xcode swift X.X (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/461\"\u003e#461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/184c73762fc180b3138e5320adae67ee738b5625\"\u003e\u003ccode\u003e184c737\u003c/code\u003e\u003c/a\u003e Migrate macOS CI to Swift version inputs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/457\"\u003e#457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/eca81998f52d757e22b3bfbff650025091453bc0\"\u003e\u003ccode\u003eeca8199\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes proposal (revision 2) (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/ac3646e5e0cc783fdb39a70971fac1e37b19202b\"\u003e\u003ccode\u003eac3646e\u003c/code\u003e\u003c/a\u003e Disable nightly 6.3 WASM builds (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/454\"\u003e#454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/5c348a629ce8f04e7dbbd2b27d6ef330fa15cd7b\"\u003e\u003ccode\u003e5c348a6\u003c/code\u003e\u003c/a\u003e Cleanup repository structure (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/451\"\u003e#451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/deae26e91aae13fdf879679e8b37bfaf0427d317\"\u003e\u003ccode\u003edeae26e\u003c/code\u003e\u003c/a\u003e Add tests for SwiftLogNoOpLogHandler (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.1 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0\"\u003e\u003ccode\u003efe7b718\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d2b796bc3e96c3e60267c8e1a3176db11b07c488\"\u003e\u003ccode\u003ed2b796b\u003c/code\u003e\u003c/a\u003e Update you're up to date Spanish translation to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/2f33f56afb966ea7fb65f44b077447c27065dd45\"\u003e\u003ccode\u003e2f33f56\u003c/code\u003e\u003c/a\u003e Fix QoS warning when running Test app server on main thread (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.1...2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.2.1 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003ch2\u003e[3.4.0] - 2026-06-07\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMCP now exposes the bounded \u003ccode\u003ecapture\u003c/code\u003e tool for live/video frame capture, contact sheets, metadata, and optional MP4 output. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/169\"\u003e#169\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded dedicated CLI wrappers for MCP-only browser/page and accessibility-tree inspection via \u003ccode\u003epeekaboo browser\u003c/code\u003e and \u003ccode\u003epeekaboo inspect-ui\u003c/code\u003e. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/173\"\u003e#173\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003epeekaboo capture action\u003c/code\u003e, which records adaptive live capture around a child command with pre-roll, post-roll, timeout, artifact validation, and optional MP4 output. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/171\"\u003e#171\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocumented background vs. foreground input delivery across the README, automation guide, quickstart, permissions, and interaction command docs.\u003c/li\u003e\n\u003cli\u003eClarified that \u003ccode\u003epeekaboo tools\u003c/code\u003e lists the MCP/agent tool catalog rather than top-level CLI commands. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/174\"\u003e#174\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAction-only scroll now reports an empty target as unsupported, and generic process scripts preserve menu, modifier, drag, and type flag aliases. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/178\"\u003e#178\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/179\"\u003e#179\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eClipboard writes now count companion text toward the large-payload guard and return previews for UTF-8 plain-text representations. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/180\"\u003e#180\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBridge-backed CLI JSON errors now preserve bridge message/details and map permission failures to permission-specific error codes. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/181\"\u003e#181\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRelease Proof\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enpm package: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.4.0\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.4.0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enpm tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.4.0.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.4.0.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enpm integrity: sha512-JGO1qgoQGNBWqEXkgRSfBhj7ve5Rx02Bul4woqotNErRFqkZzLF5mDrbD/12L0YeG33wWiBNeWNGV/8M92b/Sw==\u003c/li\u003e\n\u003cli\u003enpm published: 2026-06-07T07:18:40.455Z\u003c/li\u003e\n\u003cli\u003eCI: \u003ca href=\"https://github.com/openclaw/Peekaboo/actions/runs/27085904190\"\u003ehttps://github.com/openclaw/Peekaboo/actions/runs/27085904190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLocal proof: SwiftLint passed, warning scan clean, 485 safe tests passed, universal CLI signed with Developer ID, notarization accepted for submission 4f1127e0-f849-4893-822d-57e165dcb79d, app zip stapled and assessed, release artifact checksums verified.\u003c/li\u003e\n\u003cli\u003eAsset SHA-256: Peekaboo-3.4.0.app.zip 66d1aadf9ffaaa4bdc9dc7577177b97fb6e8c25467f258db8f1b09fe09702ed3\u003c/li\u003e\n\u003cli\u003eAsset SHA-256: peekaboo-macos-universal.tar.gz fbfa42f2db3c239ca51fe0f742802637891d2b222efa681e6ab9ec96880fca5e\u003c/li\u003e\n\u003cli\u003eAsset SHA-256: steipete-peekaboo-3.4.0.tgz d514d6728bc8062e1da7f0ad91a59604a38d1b2d80e5804d6b54435d3ce56889\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003e[3.3.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now supports MiniMax China via \u003ccode\u003eminimax-cn/...\u003c/code\u003e models and \u003ccode\u003eMINIMAX_CN_API_KEY\u003c/code\u003e, while preserving the existing international MiniMax endpoint. Thanks \u003ca href=\"https://github.com/LLuke\"\u003e\u003ccode\u003e@​LLuke\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/161\"\u003e#161\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo click\u003c/code\u003e, \u003ccode\u003etype\u003c/code\u003e, \u003ccode\u003ehotkey\u003c/code\u003e, \u003ccode\u003epress\u003c/code\u003e, and \u003ccode\u003epaste\u003c/code\u003e now use background process-targeted delivery by default when a target PID/app/window/snapshot process can be resolved, with \u003ccode\u003e--foreground\u003c/code\u003e for focused foreground input.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackground text input now prefers AX text editing for typing, paste, clear, and focused-field key presses so targeted apps stay in the background more reliably.\u003c/li\u003e\n\u003cli\u003eBackground text paste no longer snapshots or restores the user clipboard, positional \u003ccode\u003epeekaboo paste \u0026quot;text\u0026quot;\u003c/code\u003e works again, and background \u003ccode\u003ecmd+a\u003c/code\u003e selects focused text fields via AX.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo open --app Finder ...\u003c/code\u003e now resolves Finder from CoreServices, matching the documented examples.\u003c/li\u003e\n\u003cli\u003eVisualizer settings and capture-engine docs now reference \u003ccode\u003epeekaboo capture live\u003c/code\u003e instead of stale top-level \u003ccode\u003epeekaboo watch\u003c/code\u003e/\u003ccode\u003epeekaboo capture\u003c/code\u003e command forms. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/166\"\u003e#166\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/167\"\u003e#167\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVerification\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.3.0\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.3.0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegistry tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.3.0.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.3.0.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrity: sha512-5VfZ/Xr4KG1Hh4AC1kcQof7SdiNJK0jgSqElW4HErkj9e2hPNft59mJYpZDZnBRQ7JRX3ZJz3vwpx7A8R5+sAA==\u003c/li\u003e\n\u003cli\u003ePublished: 2026-05-31T23:41:15.713Z\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/3a56ed2aa769bfefb5a78722dfce3c34088cfba1\"\u003e\u003ccode\u003e3a56ed2\u003c/code\u003e\u003c/a\u003e chore(release): update appcast for 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/613f0435a8ba0d4200f7e10b734e1cc1f0a652c1\"\u003e\u003ccode\u003e613f043\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/7e610180194eb009083d3763e1f438547f1bb4e9\"\u003e\u003ccode\u003e7e61018\u003c/code\u003e\u003c/a\u003e feat(cli): expose MCP wrappers and capture action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/3608d9c782f61ae2ff1432315cfa80310c48bf8f\"\u003e\u003ccode\u003e3608d9c\u003c/code\u003e\u003c/a\u003e feat(mcp): expose capture tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/87d4721e29716fa65c5e43da3a4d75c479a25808\"\u003e\u003ccode\u003e87d4721\u003c/code\u003e\u003c/a\u003e test(cli): cover default background interactions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/1665ca80612ac0f3b9ffc544a6436336d94aa2bf\"\u003e\u003ccode\u003e1665ca8\u003c/code\u003e\u003c/a\u003e docs: update changelog for bridge error fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/01fcfba8777bde81698de8ac6b0eaa29cb611788\"\u003e\u003ccode\u003e01fcfba\u003c/code\u003e\u003c/a\u003e fix(cli): map bridge permission errors (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/181\"\u003e#181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/0ce0895cb8d1e03756dd023b59e79cf5521f1970\"\u003e\u003ccode\u003e0ce0895\u003c/code\u003e\u003c/a\u003e docs: update changelog for clipboard fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/01d10db9b07ae81af57a88e6697f8087ec7f3ba7\"\u003e\u003ccode\u003e01d10db\u003c/code\u003e\u003c/a\u003e fix(clipboard): validate alternate text payloads (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/180\"\u003e#180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/6d29dae6cbb7af96ce10f66be50990d3619cf3af\"\u003e\u003ccode\u003e6d29dae\u003c/code\u003e\u003c/a\u003e docs: update changelog for tools help clarification\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.2.1...v3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/bryanunitek/UniCORE.OpenClaw/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanunitek%2FUniCORE.OpenClaw/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4612191377","node_id":"PR_kwDOSjXqqM7j3adS","number":4,"state":"open","title":"Bump github.com/sparkle-project/sparkle from 2.9.1 to 2.9.3","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T10:45:13.000Z","updated_at":"2026-06-08T10:45:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.1","new_version":"2.9.3","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.1 to 2.9.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.3 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix updating not working the first time if the app's bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a very specific installation fix for apps that use a bundle identifier ending with .app\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d46d456107feacc80711b21847b82b07bd9fb46e\"\u003e\u003ccode\u003ed46d456\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/00e7c24b6ad344992166ac023b71075cc524e36b\"\u003e\u003ccode\u003e00e7c24\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.9.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/e6a344a570bcf1e988a294c85c9645f83f294dce\"\u003e\u003ccode\u003ee6a344a\u003c/code\u003e\u003c/a\u003e Fix updating not working the first time if bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.1...2.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.1\u0026new-version=2.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/theagenzzy/Markzzy-App/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/theagenzzy%2FMarkzzy-App/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"4576976630","node_id":"PR_kwDOSRYmZs7iEiiT","number":124,"state":"closed","title":"build(deps): bump the swift-deps group in /apps/macos with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-03T11:13:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T04:52:34.000Z","updated_at":"2026-06-03T11:13:10.000Z","time_to_close":22833,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/apple/swift-log","old_version":"1.12.0","new_version":"1.13.1","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.1","new_version":"2.9.2","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.0.0","new_version":"3.3.0","repository_url":"https://github.com/steipete/Peekaboo"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 3 updates: [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo).\n\nUpdates `github.com/apple/swift-log` from 1.12.0 to 1.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.13.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMatch \u003ccode\u003eDefaultStringInterpolation\u003c/code\u003e \u003ccode\u003eappendInterpolation \u003c/code\u003e overloads by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/469\"\u003eapple/swift-log#469\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.13.0...1.13.1\"\u003ehttps://github.com/apple/swift-log/compare/1.13.0...1.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.13.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes implementation by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/453\"\u003eapple/swift-log#453\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a source-breaking change of \u003ccode\u003eMetadataValue\u003c/code\u003e compatibility with custom string interpolations. Please see \u003ca href=\"https://redirect.github.com/apple/swift-log/issues/467\"\u003eapple/swift-log#467\u003c/a\u003e for details.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.1...1.13.0\"\u003ehttps://github.com/apple/swift-log/compare/1.12.1...1.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.12.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove readability by extracting separate types to their own files by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/444\"\u003eapple/swift-log#444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/465\"\u003eapple/swift-log#465\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate documentation to reflect recent changes by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/445\"\u003eapple/swift-log#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependabot to daily schedule by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/446\"\u003eapple/swift-log#446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to 0.0.11 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/447\"\u003eapple/swift-log#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake dependabot set  label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/448\"\u003eapple/swift-log#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for SwiftLogNoOpLogHandler by \u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup repository structure by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/451\"\u003eapple/swift-log#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable nightly 6.3 WASM builds by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/454\"\u003eapple/swift-log#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes proposal (revision 2) by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/440\"\u003eapple/swift-log#440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate macOS CI to Swift version inputs by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/457\"\u003eapple/swift-log#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShared workflows changed from Xcode XX.X to Xcode swift X.X by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/461\"\u003eapple/swift-log#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-package macOS benchmarks workflow by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/466\"\u003eapple/swift-log#466\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.12.1\"\u003ehttps://github.com/apple/swift-log/compare/1.12.0...1.12.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/2aed77ae5ec9a86d8fe42c12275e4c2653a286ee\"\u003e\u003ccode\u003e2aed77a\u003c/code\u003e\u003c/a\u003e Match \u003ccode\u003eDefaultStringInterpolation\u003c/code\u003e \u003ccode\u003eappendInterpolation \u003c/code\u003e overloads (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/7dc6101ae4dbe95cd3bc9cebad3b7cf8e49a7a63\"\u003e\u003ccode\u003e7dc6101\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes implementation (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/a012e0ad8a8a72de92b0e008c81a9b793f70e73a\"\u003e\u003ccode\u003ea012e0a\u003c/code\u003e\u003c/a\u003e Adopt multi-package macOS benchmarks workflow (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1069d31898fad2304edbdb9ddf30ddd6b3bcfb96\"\u003e\u003ccode\u003e1069d31\u003c/code\u003e\u003c/a\u003e Skip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3061a62b6d0cfed7c11b5b019fd81443a0beb172\"\u003e\u003ccode\u003e3061a62\u003c/code\u003e\u003c/a\u003e Shared workflows changed from Xcode XX.X to Xcode swift X.X (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/461\"\u003e#461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/184c73762fc180b3138e5320adae67ee738b5625\"\u003e\u003ccode\u003e184c737\u003c/code\u003e\u003c/a\u003e Migrate macOS CI to Swift version inputs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/457\"\u003e#457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/eca81998f52d757e22b3bfbff650025091453bc0\"\u003e\u003ccode\u003eeca8199\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes proposal (revision 2) (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/ac3646e5e0cc783fdb39a70971fac1e37b19202b\"\u003e\u003ccode\u003eac3646e\u003c/code\u003e\u003c/a\u003e Disable nightly 6.3 WASM builds (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/454\"\u003e#454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/5c348a629ce8f04e7dbbd2b27d6ef330fa15cd7b\"\u003e\u003ccode\u003e5c348a6\u003c/code\u003e\u003c/a\u003e Cleanup repository structure (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/451\"\u003e#451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/deae26e91aae13fdf879679e8b37bfaf0427d317\"\u003e\u003ccode\u003edeae26e\u003c/code\u003e\u003c/a\u003e Add tests for SwiftLogNoOpLogHandler (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.1 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0\"\u003e\u003ccode\u003efe7b718\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d2b796bc3e96c3e60267c8e1a3176db11b07c488\"\u003e\u003ccode\u003ed2b796b\u003c/code\u003e\u003c/a\u003e Update you're up to date Spanish translation to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/2f33f56afb966ea7fb65f44b077447c27065dd45\"\u003e\u003ccode\u003e2f33f56\u003c/code\u003e\u003c/a\u003e Fix QoS warning when running Test app server on main thread (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.1...2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.0.0 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003e[3.3.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now supports MiniMax China via \u003ccode\u003eminimax-cn/...\u003c/code\u003e models and \u003ccode\u003eMINIMAX_CN_API_KEY\u003c/code\u003e, while preserving the existing international MiniMax endpoint. Thanks \u003ca href=\"https://github.com/LLuke\"\u003e\u003ccode\u003e@​LLuke\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/161\"\u003e#161\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo click\u003c/code\u003e, \u003ccode\u003etype\u003c/code\u003e, \u003ccode\u003ehotkey\u003c/code\u003e, \u003ccode\u003epress\u003c/code\u003e, and \u003ccode\u003epaste\u003c/code\u003e now use background process-targeted delivery by default when a target PID/app/window/snapshot process can be resolved, with \u003ccode\u003e--foreground\u003c/code\u003e for focused foreground input.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackground text input now prefers AX text editing for typing, paste, clear, and focused-field key presses so targeted apps stay in the background more reliably.\u003c/li\u003e\n\u003cli\u003eBackground text paste no longer snapshots or restores the user clipboard, positional \u003ccode\u003epeekaboo paste \u0026quot;text\u0026quot;\u003c/code\u003e works again, and background \u003ccode\u003ecmd+a\u003c/code\u003e selects focused text fields via AX.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo open --app Finder ...\u003c/code\u003e now resolves Finder from CoreServices, matching the documented examples.\u003c/li\u003e\n\u003cli\u003eVisualizer settings and capture-engine docs now reference \u003ccode\u003epeekaboo capture live\u003c/code\u003e instead of stale top-level \u003ccode\u003epeekaboo watch\u003c/code\u003e/\u003ccode\u003epeekaboo capture\u003c/code\u003e command forms. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/166\"\u003e#166\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/167\"\u003e#167\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVerification\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.3.0\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.3.0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegistry tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.3.0.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.3.0.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrity: sha512-5VfZ/Xr4KG1Hh4AC1kcQof7SdiNJK0jgSqElW4HErkj9e2hPNft59mJYpZDZnBRQ7JRX3ZJz3vwpx7A8R5+sAA==\u003c/li\u003e\n\u003cli\u003ePublished: 2026-05-31T23:41:15.713Z\u003c/li\u003e\n\u003cli\u003eProof: SwiftFormat, SwiftLint, warning gate, \u003ccode\u003epnpm run test:safe\u003c/code\u003e (463 tests), notarization, appcast validation, npm registry verification.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.2.3\u003c/h2\u003e\n\u003ch2\u003e[3.2.3] - 2026-05-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo image --json\u003c/code\u003e now reports capture coordinate diagnostics and warns when window captures look blank or solid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInteraction commands now accept \u003ccode\u003e--snapshot latest\u003c/code\u003e explicitly and window/app capture failures list rejected capture candidates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease proof\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.2.3\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.2.3\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eregistry tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.2.3.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.2.3.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintegrity: \u003ccode\u003esha512-0+NJGpJVNnwTYiw/ApL7VNYCMJkOIHHxQqR8qJubzm7EKRt3tVu7CdqHs1lXkpcdJaJ5PYeGGDngj+PeUlPxFA==\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003epublished: 2026-05-24T04:33:55.374Z\u003c/li\u003e\n\u003cli\u003eproof: autoreview clean; \u003ccode\u003epnpm run test:safe\u003c/code\u003e; \u003ccode\u003enode scripts/prepare-release.js\u003c/code\u003e; notarized app zip accepted; GitHub assets verified; npm \u003ccode\u003elatest\u003c/code\u003e points to 3.2.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.2.2\u003c/h2\u003e\n\u003ch2\u003e[3.2.2] - 2026-05-22\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGameBridge manifests now let \u003ccode\u003epeekaboo see\u003c/code\u003e expose Firestaff/SDL game UI zones from GPU-rendered windows. Thanks \u003ca href=\"https://github.com/yeager\"\u003e\u003ccode\u003e@​yeager\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/152\"\u003e#152\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now accepts OpenRouter model IDs and can use \u003ccode\u003eOPENROUTER_API_KEY\u003c/code\u003e from env or credentials. Thanks \u003ca href=\"https://github.com/delort\"\u003e\u003ccode\u003e@​delort\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/155\"\u003e#155\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRelease Verification\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/faf843032772c2074d834b931911bf0002704136\"\u003e\u003ccode\u003efaf8430\u003c/code\u003e\u003c/a\u003e chore(release): update appcast for 3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/6feffe58b1ab2a4dc8e94153a17c36eb7f742b9a\"\u003e\u003ccode\u003e6feffe5\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/697acdd0cfa252ace55e41ebea32d99cb9f27e0c\"\u003e\u003ccode\u003e697acdd\u003c/code\u003e\u003c/a\u003e chore: update Tachikoma submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/6609a43415f5adc62d3fbd50380614c859b4dfc0\"\u003e\u003ccode\u003e6609a43\u003c/code\u003e\u003c/a\u003e fix(cli): improve background text input\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/619a033f898ad64ffe3c49331b071ac34730a596\"\u003e\u003ccode\u003e619a033\u003c/code\u003e\u003c/a\u003e fix(cli): harden background text input\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/122c96da0bd7909df5ca4d3dcd98e086c8bd0733\"\u003e\u003ccode\u003e122c96d\u003c/code\u003e\u003c/a\u003e feat(cli): use background keyboard delivery by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/abb4e87a50737cdcbc42fb3e2e6326c3226c9a2c\"\u003e\u003ccode\u003eabb4e87\u003c/code\u003e\u003c/a\u003e fix(cli): default clicks to background delivery (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/c15ff187b75d28745ca5b0177d58da603ea0bf73\"\u003e\u003ccode\u003ec15ff18\u003c/code\u003e\u003c/a\u003e docs: update AXorcist submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/28a47f99677aa0e29eb10dcb467677372c3b9f3b\"\u003e\u003ccode\u003e28a47f9\u003c/code\u003e\u003c/a\u003e docs: position README banner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/9d32a65e4a21be70b8bc356ed84e51ba8f7a5fa9\"\u003e\u003ccode\u003e9d32a65\u003c/code\u003e\u003c/a\u003e ci: pin macOS runner labels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.0.0...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/l3ocifer/puck-openclaw/pull/124","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3ocifer%2Fpuck-openclaw/issues/124","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/124/packages"},{"uuid":"4527308794","node_id":"PR_kwDOSopYV87fkPL6","number":11,"state":"closed","title":"build(deps): bump the swift-deps group in /apps/macos with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-27T06:56:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-26T20:33:36.000Z","updated_at":"2026-05-27T06:56:56.000Z","time_to_close":37398,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/orchetect/menubarextraaccess","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/orchetect/MenuBarExtraAccess"},{"name":"github.com/apple/swift-log","old_version":"1.10.1","new_version":"1.12.1","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.0","new_version":"2.9.2","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 3 updates: [github.com/orchetect/menubarextraaccess](https://github.com/orchetect/MenuBarExtraAccess), [github.com/apple/swift-log](https://github.com/apple/swift-log) and [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle).\n\nUpdates `github.com/orchetect/menubarextraaccess` from 1.2.2 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/releases\"\u003egithub.com/orchetect/menubarextraaccess's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.0\u003c/h2\u003e\n\u003ch2\u003eImproved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved reliability of status item discovery upon \u003ccode\u003eMenuBarExtra\u003c/code\u003e scene initialization\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emenuBarExtraAccess(...)\u003c/code\u003e scene modifier is now required to be the first modifier applied to a \u003ccode\u003eMenuBarExtra\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded Package manifest for Swift 6.2 toolchain with \u003ccode\u003eDebugLogging\u003c/code\u003e trait\u003c/li\u003e\n\u003cli\u003eUpdated example projects\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/33bb0e4b1e407feac791e047dcaaf9c69b25fd26\"\u003e\u003ccode\u003e33bb0e4\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/041fdce740b3c32a1f70b4e216414309ae51888a\"\u003e\u003ccode\u003e041fdce\u003c/code\u003e\u003c/a\u003e Renamed CI Xcode scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/78e121649049f25321ea80150c66037ce01b531a\"\u003e\u003ccode\u003e78e1216\u003c/code\u003e\u003c/a\u003e Updated example projects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/8d8a246eab6fd7a82ec7615d55c13cecce021420\"\u003e\u003ccode\u003e8d8a246\u003c/code\u003e\u003c/a\u003e \u003ccode\u003emenuBarExtraAccess()\u003c/code\u003e scene modifier is now required as first modifier appli...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/4ad6b50f535de9617dd0e1d2a6295eeb951a226e\"\u003e\u003ccode\u003e4ad6b50\u003c/code\u003e\u003c/a\u003e Updated README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/0303ae6fca6b2645253f18fb9a78af0f5359ee71\"\u003e\u003ccode\u003e0303ae6\u003c/code\u003e\u003c/a\u003e Improved reliability of status item discovery upon MenuBarExtra scene initial...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/aac5e3e12d30025153916cf7609405ed245c628d\"\u003e\u003ccode\u003eaac5e3e\u003c/code\u003e\u003c/a\u003e Added Package manifest for Swift 6.2 toolchain with DebugLogging trait\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/16df7fd996a002174758ddb9f930f6667b60c396\"\u003e\u003ccode\u003e16df7fd\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/b71b97aadf1bdd75640705c387448eb887a8ed5b\"\u003e\u003ccode\u003eb71b97a\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/61847fb8649fc3afedd8930aec70ef16bd4b0e03\"\u003e\u003ccode\u003e61847fb\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/compare/1.2.2...1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/apple/swift-log` from 1.10.1 to 1.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.12.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove readability by extracting separate types to their own files by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/444\"\u003eapple/swift-log#444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/465\"\u003eapple/swift-log#465\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate documentation to reflect recent changes by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/445\"\u003eapple/swift-log#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependabot to daily schedule by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/446\"\u003eapple/swift-log#446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to 0.0.11 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/447\"\u003eapple/swift-log#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake dependabot set  label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/448\"\u003eapple/swift-log#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for SwiftLogNoOpLogHandler by \u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup repository structure by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/451\"\u003eapple/swift-log#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable nightly 6.3 WASM builds by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/454\"\u003eapple/swift-log#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes proposal (revision 2) by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/440\"\u003eapple/swift-log#440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate macOS CI to Swift version inputs by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/457\"\u003eapple/swift-log#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShared workflows changed from Xcode XX.X to Xcode swift X.X by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/461\"\u003eapple/swift-log#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-package macOS benchmarks workflow by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/466\"\u003eapple/swift-log#466\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.12.1\"\u003ehttps://github.com/apple/swift-log/compare/1.12.0...1.12.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.12.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Swift 6.0 by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/436\"\u003eapple/swift-log#436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSLG-0003: Error parameter implementation by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/425\"\u003eapple/swift-log#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Swift 6.3 jobs in CI by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/435\"\u003eapple/swift-log#435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSLG-0004: Metadata privacy levels proposal by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/416\"\u003eapple/swift-log#416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetroactively update status of SLG-0005 to Approved by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/438\"\u003eapple/swift-log#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.8 to 0.0.9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/437\"\u003eapple/swift-log#437\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.11.0...1.12.0\"\u003ehttps://github.com/apple/swift-log/compare/1.11.0...1.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[SLG-0005]: LogEvent LogHandler API implementation by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/423\"\u003eapple/swift-log#423\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using CFilePointer typealias in default logger by \u003ca href=\"https://github.com/madsodgaard\"\u003e\u003ccode\u003e@​madsodgaard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/433\"\u003eapple/swift-log#433\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/a012e0ad8a8a72de92b0e008c81a9b793f70e73a\"\u003e\u003ccode\u003ea012e0a\u003c/code\u003e\u003c/a\u003e Adopt multi-package macOS benchmarks workflow (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1069d31898fad2304edbdb9ddf30ddd6b3bcfb96\"\u003e\u003ccode\u003e1069d31\u003c/code\u003e\u003c/a\u003e Skip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3061a62b6d0cfed7c11b5b019fd81443a0beb172\"\u003e\u003ccode\u003e3061a62\u003c/code\u003e\u003c/a\u003e Shared workflows changed from Xcode XX.X to Xcode swift X.X (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/461\"\u003e#461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/184c73762fc180b3138e5320adae67ee738b5625\"\u003e\u003ccode\u003e184c737\u003c/code\u003e\u003c/a\u003e Migrate macOS CI to Swift version inputs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/457\"\u003e#457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/eca81998f52d757e22b3bfbff650025091453bc0\"\u003e\u003ccode\u003eeca8199\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes proposal (revision 2) (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/ac3646e5e0cc783fdb39a70971fac1e37b19202b\"\u003e\u003ccode\u003eac3646e\u003c/code\u003e\u003c/a\u003e Disable nightly 6.3 WASM builds (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/454\"\u003e#454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/5c348a629ce8f04e7dbbd2b27d6ef330fa15cd7b\"\u003e\u003ccode\u003e5c348a6\u003c/code\u003e\u003c/a\u003e Cleanup repository structure (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/451\"\u003e#451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/deae26e91aae13fdf879679e8b37bfaf0427d317\"\u003e\u003ccode\u003edeae26e\u003c/code\u003e\u003c/a\u003e Add tests for SwiftLogNoOpLogHandler (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1fe83fbfe9a709d9572e7fd5785016a54ff36c6b\"\u003e\u003ccode\u003e1fe83fb\u003c/code\u003e\u003c/a\u003e Make dependabot set  label (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/41592e45e167db0e7c89d3ec4a2d3fb98ef1c1a0\"\u003e\u003ccode\u003e41592e4\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apple/swift-log/compare/1.10.1...1.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.0 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.1 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential crash due to race condition within clearDownloadedUpdate (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2863\"\u003e#2863\u003c/a\u003e) (Julian Pscheid)\u003c/li\u003e\n\u003cli\u003eFix generate_appcast failing if feed URL doesn't have lastPathComponent (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2862\"\u003e#2862\u003c/a\u003e) (Julian Pscheid)\u003c/li\u003e\n\u003cli\u003eDon't let progress status text title string line wrap (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2856\"\u003e#2856\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd minimal framework support for building arm64e (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2858\"\u003e#2858\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2860\"\u003e#2860\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd SKIP_INSTALL=YES to for XPCServices targets (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2864\"\u003e#2864\u003c/a\u003e) (Jeremy Huddleston Sequoia)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0\"\u003e\u003ccode\u003efe7b718\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d2b796bc3e96c3e60267c8e1a3176db11b07c488\"\u003e\u003ccode\u003ed2b796b\u003c/code\u003e\u003c/a\u003e Update you're up to date Spanish translation to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/2f33f56afb966ea7fb65f44b077447c27065dd45\"\u003e\u003ccode\u003e2f33f56\u003c/code\u003e\u003c/a\u003e Fix QoS warning when running Test app server on main thread (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.0...2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/dalet4/hermes/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalet4%2Fhermes/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4509179043","node_id":"PR_kwDOSl5V0s7eqzM3","number":3,"state":"closed","title":"build(deps): bump the swift-deps group in /apps/macos with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-24T04:44:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-23T18:06:28.000Z","updated_at":"2026-05-24T04:44:39.000Z","time_to_close":38282,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/apple/swift-log","old_version":"1.12.0","new_version":"1.12.1","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.1","new_version":"2.9.2","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.2.1","new_version":"3.2.2","repository_url":"https://github.com/steipete/Peekaboo"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 3 updates: [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo).\n\nUpdates `github.com/apple/swift-log` from 1.12.0 to 1.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.12.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove readability by extracting separate types to their own files by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/444\"\u003eapple/swift-log#444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/465\"\u003eapple/swift-log#465\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate documentation to reflect recent changes by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/445\"\u003eapple/swift-log#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependabot to daily schedule by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/446\"\u003eapple/swift-log#446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to 0.0.11 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/447\"\u003eapple/swift-log#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake dependabot set  label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/448\"\u003eapple/swift-log#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for SwiftLogNoOpLogHandler by \u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup repository structure by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/451\"\u003eapple/swift-log#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable nightly 6.3 WASM builds by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/454\"\u003eapple/swift-log#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes proposal (revision 2) by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/440\"\u003eapple/swift-log#440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate macOS CI to Swift version inputs by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/457\"\u003eapple/swift-log#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShared workflows changed from Xcode XX.X to Xcode swift X.X by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/461\"\u003eapple/swift-log#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-package macOS benchmarks workflow by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/466\"\u003eapple/swift-log#466\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.12.1\"\u003ehttps://github.com/apple/swift-log/compare/1.12.0...1.12.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/a012e0ad8a8a72de92b0e008c81a9b793f70e73a\"\u003e\u003ccode\u003ea012e0a\u003c/code\u003e\u003c/a\u003e Adopt multi-package macOS benchmarks workflow (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1069d31898fad2304edbdb9ddf30ddd6b3bcfb96\"\u003e\u003ccode\u003e1069d31\u003c/code\u003e\u003c/a\u003e Skip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3061a62b6d0cfed7c11b5b019fd81443a0beb172\"\u003e\u003ccode\u003e3061a62\u003c/code\u003e\u003c/a\u003e Shared workflows changed from Xcode XX.X to Xcode swift X.X (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/461\"\u003e#461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/184c73762fc180b3138e5320adae67ee738b5625\"\u003e\u003ccode\u003e184c737\u003c/code\u003e\u003c/a\u003e Migrate macOS CI to Swift version inputs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/457\"\u003e#457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/eca81998f52d757e22b3bfbff650025091453bc0\"\u003e\u003ccode\u003eeca8199\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes proposal (revision 2) (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/ac3646e5e0cc783fdb39a70971fac1e37b19202b\"\u003e\u003ccode\u003eac3646e\u003c/code\u003e\u003c/a\u003e Disable nightly 6.3 WASM builds (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/454\"\u003e#454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/5c348a629ce8f04e7dbbd2b27d6ef330fa15cd7b\"\u003e\u003ccode\u003e5c348a6\u003c/code\u003e\u003c/a\u003e Cleanup repository structure (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/451\"\u003e#451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/deae26e91aae13fdf879679e8b37bfaf0427d317\"\u003e\u003ccode\u003edeae26e\u003c/code\u003e\u003c/a\u003e Add tests for SwiftLogNoOpLogHandler (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1fe83fbfe9a709d9572e7fd5785016a54ff36c6b\"\u003e\u003ccode\u003e1fe83fb\u003c/code\u003e\u003c/a\u003e Make dependabot set  label (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/41592e45e167db0e7c89d3ec4a2d3fb98ef1c1a0\"\u003e\u003ccode\u003e41592e4\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.1 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0\"\u003e\u003ccode\u003efe7b718\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d2b796bc3e96c3e60267c8e1a3176db11b07c488\"\u003e\u003ccode\u003ed2b796b\u003c/code\u003e\u003c/a\u003e Update you're up to date Spanish translation to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/2f33f56afb966ea7fb65f44b077447c27065dd45\"\u003e\u003ccode\u003e2f33f56\u003c/code\u003e\u003c/a\u003e Fix QoS warning when running Test app server on main thread (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.1...2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.2.1 to 3.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.2\u003c/h2\u003e\n\u003ch2\u003e[3.2.2] - 2026-05-22\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGameBridge manifests now let \u003ccode\u003epeekaboo see\u003c/code\u003e expose Firestaff/SDL game UI zones from GPU-rendered windows. Thanks \u003ca href=\"https://github.com/yeager\"\u003e\u003ccode\u003e@​yeager\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/152\"\u003e#152\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now accepts OpenRouter model IDs and can use \u003ccode\u003eOPENROUTER_API_KEY\u003c/code\u003e from env or credentials. Thanks \u003ca href=\"https://github.com/delort\"\u003e\u003ccode\u003e@​delort\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/155\"\u003e#155\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRelease Verification\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enpm package: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.2.2\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.2.2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eregistry tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.2.2.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.2.2.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enpm integrity: \u003ccode\u003esha512-MV2heuhtWJPf8H1KwYGyfcXlOqKEMtuZNlOH9CA7gG7iXRsX28qEjCy/DTUWbTnKKeIsbrVi9SGjxfMLBIrXFg==\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eproof: \u003ccode\u003epnpm run lint\u003c/code\u003e, \u003ccode\u003epnpm run test:safe\u003c/code\u003e, universal CLI build, Developer ID signing, Apple notarization accepted, Sparkle appcast XML validated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/d7b665c5df8b4b5c55b99a6e435bd938b431ffe9\"\u003e\u003ccode\u003ed7b665c\u003c/code\u003e\u003c/a\u003e chore(release): update appcast for 3.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/43ed861725665f610ebc11e27ebf8d5c27021ca4\"\u003e\u003ccode\u003e43ed861\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/1fd0dc6f519ae461110c0ce538d09678a212b919\"\u003e\u003ccode\u003e1fd0dc6\u003c/code\u003e\u003c/a\u003e fix: remove GameBridge release warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/2edeee0b33271b0659e5b94183616799c6ce29a5\"\u003e\u003ccode\u003e2edeee0\u003c/code\u003e\u003c/a\u003e feat: add GameBridge detection for SDL game windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/c4a151a597de42cc65bec71bbc1c6ac0b07a5e22\"\u003e\u003ccode\u003ec4a151a\u003c/code\u003e\u003c/a\u003e chore: bump Tachikoma\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/3089e051107c299a8ea3085a47adaac4f7da5f61\"\u003e\u003ccode\u003e3089e05\u003c/code\u003e\u003c/a\u003e build: reuse shared mac release tooling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/a9725f89e68f5da8c4d76b73c7d08f8a0174f70a\"\u003e\u003ccode\u003ea9725f8\u003c/code\u003e\u003c/a\u003e feat(agent): add OpenRouter provider support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/fe6548a5d89974d970517b7f86d7da65e1491576\"\u003e\u003ccode\u003efe6548a\u003c/code\u003e\u003c/a\u003e fix(agent): treat OAuth access tokens as Bearer auth not API keys (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/154\"\u003e#154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/96a165d7f2ec776784d4fa3fb5db1f6f17256733\"\u003e\u003ccode\u003e96a165d\u003c/code\u003e\u003c/a\u003e chore(release): close 3.2.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.2.1...v3.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/sihaun/ShadowClaw/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sihaun%2FShadowClaw/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4480184449","node_id":"PR_kwDORKp0PM7dNXY1","number":24,"state":"closed","title":"chore(deps): bump the swift-deps group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T09:02:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T18:59:28.000Z","updated_at":"2026-05-25T09:02:06.000Z","time_to_close":482556,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"swift-deps","update_count":2,"packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.1","new_version":"2.9.2","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.0.0","new_version":"3.2.1","repository_url":"https://github.com/steipete/Peekaboo"}],"path":null,"ecosystem":"swift"},"body":"Bumps the swift-deps group with 2 updates in the /apps/macos directory: [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo).\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.1 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0\"\u003e\u003ccode\u003efe7b718\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d2b796bc3e96c3e60267c8e1a3176db11b07c488\"\u003e\u003ccode\u003ed2b796b\u003c/code\u003e\u003c/a\u003e Update you're up to date Spanish translation to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/2f33f56afb966ea7fb65f44b077447c27065dd45\"\u003e\u003ccode\u003e2f33f56\u003c/code\u003e\u003c/a\u003e Fix QoS warning when running Test app server on main thread (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.1...2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.0.0 to 3.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.1\u003c/h2\u003e\n\u003ch2\u003e[3.2.1] - 2026-05-18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo click --coords\u003c/code\u003e now treats coordinates as target-window-relative when app/window target flags are supplied, reports resolved target metadata, and requires \u003ccode\u003e--global-coords\u003c/code\u003e for targeted global clicks.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo-mcp\u003c/code\u003e now shuts down cleanly during restart backoff and repairs executable permissions without shelling out through an install path.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epnpm run peekaboo:dev\u003c/code\u003e no longer depends on a hardcoded local checkout path.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now tells models to use the current tool schema instead of stale tool names and arguments. Thanks \u003ca href=\"https://github.com/vyctorbrzezowski\"\u003e\u003ccode\u003e@​vyctorbrzezowski\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/139\"\u003e#139\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAX element detection now honors traversal budgets and reports truncation when depth, count, or per-node child limits are reached. Thanks \u003ca href=\"https://github.com/vyctorbrzezowski\"\u003e\u003ccode\u003e@​vyctorbrzezowski\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/140\"\u003e#140\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e and MCP clients now have an \u003ccode\u003einspect_ui\u003c/code\u003e tool for AX-only UI text/control inspection without capturing screenshots. Thanks \u003ca href=\"https://github.com/vyctorbrzezowski\"\u003e\u003ccode\u003e@​vyctorbrzezowski\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/141\"\u003e#141\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eWindow-mode capture now falls back to desktop-independent ScreenCaptureKit filters when multi-display setups cannot map a window to an enumerated display. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/147\"\u003e#147\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e guidance now routes AX-only observation through \u003ccode\u003einspect_ui\u003c/code\u003e consistently while keeping screenshot-backed checks on \u003ccode\u003esee\u003c/code\u003e. Thanks \u003ca href=\"https://github.com/vyctorbrzezowski\"\u003e\u003ccode\u003e@​vyctorbrzezowski\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/144\"\u003e#144\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCustom provider docs, CLI help, and macOS settings now prefer \u003ccode\u003e${VAR}\u003c/code\u003e API key references and shell examples that preserve them literally. Thanks \u003ca href=\"https://github.com/scotthuang\"\u003e\u003ccode\u003e@​scotthuang\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/142\"\u003e#142\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now refreshes desktop context before each model turn and wires opt-in action verification through the configured capture strategy. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/148\"\u003e#148\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAX traversal budgets now have wider defaults plus CLI, MCP, and environment overrides for complex app trees. Thanks \u003ca href=\"https://github.com/widdowson\"\u003e\u003ccode\u003e@​widdowson\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/150\"\u003e#150\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/151\"\u003e#151\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease Proof\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.2.1\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.2.1\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enpm tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.2.1.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.2.1.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enpm integrity: sha512-EemQV/dh2pM3NjhYNeCwN5z2xVnNCRtiG/lOpUWCG9D11ebaY8mgoKoNAACjDcWwIsSB+tAhzYj9F1Y5bee70A==\u003c/li\u003e\n\u003cli\u003enpm published: 2026-05-18T13:56:48.898Z\u003c/li\u003e\n\u003cli\u003emacOS app: signed, notarized, stapled, and \u003ccode\u003espctl\u003c/code\u003e accepted as Notarized Developer ID.\u003c/li\u003e\n\u003cli\u003eLocal proof: \u003ccode\u003epnpm run lint\u003c/code\u003e, \u003ccode\u003epnpm run format\u003c/code\u003e, \u003ccode\u003epnpm run test:safe\u003c/code\u003e, universal CLI build/package verification, checksum verification, appcast XML validation.\u003c/li\u003e\n\u003cli\u003eAssets: \u003ccode\u003ePeekaboo-3.2.1.app.zip\u003c/code\u003e, \u003ccode\u003epeekaboo-macos-universal.tar.gz\u003c/code\u003e, \u003ccode\u003esteipete-peekaboo-3.2.1.tgz\u003c/code\u003e, \u003ccode\u003echecksums.txt\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003e[3.2.0] - 2026-05-15\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo click --focus-background\u003c/code\u003e and the MCP \u003ccode\u003eclick\u003c/code\u003e tool now support process-targeted background mouse delivery for apps identified by \u003ccode\u003e--app\u003c/code\u003e, \u003ccode\u003e--pid\u003c/code\u003e, or snapshot metadata.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now supports MiniMax M2.7 through Tachikoma's Anthropic-compatible provider path. Thanks \u003ca href=\"https://github.com/xiaofeiwa\"\u003e\u003ccode\u003e@​xiaofeiwa\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/130\"\u003e#130\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now accepts \u003ccode\u003eollama/\u0026lt;model\u0026gt;\u003c/code\u003e and \u003ccode\u003elmstudio/\u0026lt;model\u0026gt;\u003c/code\u003e local model selections, including local-only provider defaults. Thanks \u003ca href=\"https://github.com/0x5845\"\u003e\u003ccode\u003e@​0x5845\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/137\"\u003e#137\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOllama vision model IDs such as \u003ccode\u003eqwen2.5vl:3b\u003c/code\u003e now stay intact through Tachikoma model parsing instead of falling back to \u003ccode\u003ellama3.3\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/16\"\u003e#16\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now initializes with Gemini-only or MiniMax-only credentials instead of falling back to an unavailable OpenAI/Anthropic default. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/133\"\u003e#133\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eWindow captures now retry transient \u003ccode\u003eSCScreenshotManager\u003c/code\u003e failures before reporting a minimized/off-screen/Space hint. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/135\"\u003e#135\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eThe macOS app now keeps one status item/controller across app state reconnects and removes the status item on teardown, avoiding duplicate or ghost menu bar icons. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/134\"\u003e#134\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRelease automation now verifies CLI, npm, macOS app, checksum, appcast, and uploaded GitHub assets before publish.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo type --json\u003c/code\u003e now separates requested text from executed key actions, making escaped special keys such as \u003ccode\u003e\\n\u003c/code\u003e visible to agents without losing backwards-compatible \u003ccode\u003etypedText\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo permissions status --all-sources\u003c/code\u003e now compares Bridge and local TCC permission state side by side, so daemon grants are no longer confused with CLI grants.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo mcp serve --transport ...\u003c/code\u003e now rejects invalid transport names instead of silently starting stdio mode.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo paste --app ...\u003c/code\u003e now fails before mutating the clipboard when the requested app cannot be found.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e no longer sends stale Anthropic extended-thinking options to Claude Opus 4.7 and now exits with failure when agent execution fails.\u003c/li\u003e\n\u003cli\u003eCommand timeout JSON now reports the intended timeout error instead of occasionally surfacing cancellation as an unknown error.\u003c/li\u003e\n\u003cli\u003eRefreshed CLI docs and quickstart examples to use current flags such as \u003ccode\u003eimage --path\u003c/code\u003e, \u003ccode\u003eclick --coords\u003c/code\u003e, \u003ccode\u003etype --return\u003c/code\u003e, \u003ccode\u003epress --count\u003c/code\u003e, and \u003ccode\u003escroll --amount\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDebug CLI startup no longer spawns \u003ccode\u003egit config\u003c/code\u003e on every launch when build-staleness checking is disabled, cutting startup-heavy command latency by more than 30% in local testing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/36108b4ea7d7848d616c3cad1e7a03e40d6be857\"\u003e\u003ccode\u003e36108b4\u003c/code\u003e\u003c/a\u003e fix(release): verify Developer ID app signing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/35dfbb26a6a2de44fc37af7229a994f32f636d5b\"\u003e\u003ccode\u003e35dfbb2\u003c/code\u003e\u003c/a\u003e fix(release): disable notary S3 acceleration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/9cd7771b43a19119cabc1f2d66f9e50a7e842f11\"\u003e\u003ccode\u003e9cd7771\u003c/code\u003e\u003c/a\u003e refactor(detection): satisfy release lint gate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/75e2884e0111aff0b9688b0eace4b8ad561ccdb3\"\u003e\u003ccode\u003e75e2884\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/eba271eaff8a29b2e03a56cf43fee02f0cf4d737\"\u003e\u003ccode\u003eeba271e\u003c/code\u003e\u003c/a\u003e fix(cli): resolve targeted click coordinates (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/6ce071077a82720cf261a0c023874ef968ae0a44\"\u003e\u003ccode\u003e6ce0710\u003c/code\u003e\u003c/a\u003e feat(detection): expose AX traversal budget controls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/d211a760fd862f643cc43cf5b5fe3e90de5e1139\"\u003e\u003ccode\u003ed211a76\u003c/code\u003e\u003c/a\u003e feat(agent): wire per-turn context and action verification\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/9bd822faf1868e0ae4fc6db4ea66eda81fd67b8b\"\u003e\u003ccode\u003e9bd822f\u003c/code\u003e\u003c/a\u003e fix(config): preserve custom provider credential references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/b0845e2e177c9a9f74f4de75bc26d0294c03e724\"\u003e\u003ccode\u003eb0845e2\u003c/code\u003e\u003c/a\u003e docs(config): preserve env references in shell examples\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/8508be1c77226f10381cd2f48f0a3ce8578d94b2\"\u003e\u003ccode\u003e8508be1\u003c/code\u003e\u003c/a\u003e docs: prefer ${VAR} over {env:VAR} for custom provider apiKey\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.0.0...v3.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/devicemanager/openclaw/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/devicemanager%2Fopenclaw/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"}],"issue_packages":[{"old_version":"2.9.2","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-09-23T10:51:33.000Z","version_change":"2.9.2 → 2.10.0","issue":{"uuid":"5552318948","node_id":"PR_kwDOUm3cJc8AAAABEu-fng","number":3,"state":"open","title":"deps: bump github.com/sparkle-project/sparkle from 2.9.2 to 2.10.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-23T10:51:33.000Z","updated_at":"2026-09-23T10:51:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.2","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.2 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.2...2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.2\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Cyberesia/sift/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cyberesia%2Fsift/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"2.9.6","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-09-22T16:28:32.000Z","version_change":"2.9.6 → 2.10.0","issue":{"uuid":"5542340924","node_id":"PR_kwDOPgd9ws8AAAABEnHvrQ","number":1160,"state":"open","title":"chore(deps): bump github.com/sparkle-project/sparkle from 2.9.6 to 2.10.0","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-22T16:28:32.000Z","updated_at":"2026-09-22T16:28:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.6","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.6 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.6...2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.6\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/crmitchelmore/justspeaktoit/pull/1160","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/crmitchelmore%2Fjustspeaktoit/issues/1160","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1160/packages"}},{"old_version":"2.9.6","new_version":"2.10.0","update_type":"minor","path":"/Always","pr_created_at":"2026-09-21T04:18:27.000Z","version_change":"2.9.6 → 2.10.0","issue":{"uuid":"5522678884","node_id":"PR_kwDOSOQKm88AAAABEXVFgQ","number":84,"state":"open","title":"deps(spm)(deps): bump github.com/sparkle-project/sparkle from 2.9.6 to 2.10.0 in /Always","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-21T04:18:27.000Z","updated_at":"2026-09-21T04:18:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(spm)(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.6","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":"/Always","ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.6 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.6...2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.6\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/LivioGama/always/pull/84","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LivioGama%2Falways/issues/84","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/84/packages"}},{"old_version":"2.9.6","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-09-21T01:13:54.000Z","version_change":"2.9.6 → 2.10.0","issue":{"uuid":"5521666854","node_id":"PR_kwDOTbZGw88AAAABEWiPog","number":134,"state":"closed","title":"chore(deps): bump github.com/sparkle-project/sparkle from 2.9.6 to 2.10.0","user":"dependabot[bot]","labels":["needs-triage"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-09-30T06:29:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-21T01:13:54.000Z","updated_at":"2026-09-30T06:29:58.000Z","time_to_close":796562,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.6","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.6 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.6...2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.6\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/simonwong/speaker/pull/134","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonwong%2Fspeaker/issues/134","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/134/packages"}},{"old_version":"2.9.3","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-09-18T09:26:11.000Z","version_change":"2.9.3 → 2.10.0","issue":{"uuid":"5497957086","node_id":"PR_kwDOSR908M8AAAABEDyLKA","number":80,"state":"closed","title":"build(deps): bump github.com/sparkle-project/sparkle from 2.9.3 to 2.10.0","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-30T11:43:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-18T09:26:11.000Z","updated_at":"2026-09-30T11:43:35.000Z","time_to_close":1045041,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.3","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.3 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.3...2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.3\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/larsboes/mach-mono/pull/80","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/larsboes%2Fmach-mono/issues/80","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/80/packages"}},{"old_version":"2.9.4","new_version":"2.10.0","update_type":"minor","path":null,"pr_created_at":"2026-09-17T22:34:34.000Z","version_change":"2.9.4 → 2.10.0","issue":{"uuid":"5493380269","node_id":"PR_kwDOTX6pvs8AAAABEAIjTQ","number":18,"state":"open","title":"build: Bump github.com/sparkle-project/sparkle from 2.9.4 to 2.10.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-17T22:34:34.000Z","updated_at":"2026-09-17T22:34:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: Bump","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.4","new_version":"2.10.0","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.4 to 2.10.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.10.0 Golden Gate Bump\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.10.0-beta.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2913\"\u003eDiscussion\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/blob/2.x/CHANGELOG\"\u003egithub.com/sparkle-project/sparkle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.10.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum deployment target to macOS 12.0 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2883\"\u003e#2883\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2892\"\u003e#2892\u003c/a\u003e) (Zorg, F1248)\u003c/li\u003e\n\u003cli\u003eDon't copy updater progress tool app outside of its bundle (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2900\"\u003e#2900\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix updating not working the first time if bundle ID ends with \u0026quot;.service\u0026quot; or other irregular bundle-like extensions (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2909\"\u003e#2909\u003c/a\u003e) (Zorg, youngjunning)\u003c/li\u003e\n\u003cli\u003eFix using appcast length fallback if server reports no content size (resulting in indeterminate progress) (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix reading release notes content length from appcast for signed feed diagnostics (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e) (Leo Camus)\u003c/li\u003e\n\u003cli\u003eUpdate European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e) (Andrei)\u003c/li\u003e\n\u003cli\u003eFix temporary file leaks when applying binary delta file fails (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2906\"\u003e#2906\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eOptimize and move updating mdimporter bundles to BinaryDelta applying code (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2905\"\u003e#2905\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eFix re-applying file system compression for delta updates on macOS 27 (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2904\"\u003e#2904\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eRemove CocoaPods support (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2899\"\u003e#2899\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emacOS 12.0 or later is now required (due to Xcode 27 dropping support for deploying to older OS versions). CocoaPods support is also now dropped.\u003c/p\u003e\n\u003cp\u003eIf you're not generating appcasts automatically, remember to add \u003ccode\u003e\u0026lt;sparkle:minimumSystemVersion\u0026gt;12.0\u0026lt;/sparkle:minimumSystemVersion\u0026gt;\u003c/code\u003e element to \u003ccode\u003e\u0026lt;item\u0026gt;\u003c/code\u003es in your appcast.\u003c/p\u003e\n\u003ch1\u003e2.9.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003e\u003ccode\u003eeef1a53\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/19041aaa4f78829c0f8765a2566cea57279a55ea\"\u003e\u003ccode\u003e19041aa\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10.0 with new changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c98fe67b3fe859f4fc105e5c3759625cdfc0e98b\"\u003e\u003ccode\u003ec98fe67\u003c/code\u003e\u003c/a\u003e Fix unused appcast length fallback if server reports no content size (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/89f135b438e2619ce926af7e86f16af64f7bfb36\"\u003e\u003ccode\u003e89f135b\u003c/code\u003e\u003c/a\u003e Fix reading release notes content length from appcast (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2921\"\u003e#2921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/3c28a554cdd441f7b4960110db1fe5b8877fdb0e\"\u003e\u003ccode\u003e3c28a55\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/bb91fffa5da75eb3e86b6fcb2ad409e64cc80bda\"\u003e\u003ccode\u003ebb91fff\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.10 to include localization change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5f2b248e3e69e45a5cff42ff7594f168225ebaa5\"\u003e\u003ccode\u003e5f2b248\u003c/code\u003e\u003c/a\u003e Leave breadcrumb for running generate_progress_tool_localizations.py (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2915\"\u003e#2915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5fc946b35ebcb72e79e36710f7ba44950bb97bd2\"\u003e\u003ccode\u003e5fc946b\u003c/code\u003e\u003c/a\u003e Update European Portuguese localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2912\"\u003e#2912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/39c97c96e6cd0e494068ae6d007ec7bf00b74f8b\"\u003e\u003ccode\u003e39c97c9\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.10.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c9afdf87a2a7083d6e327153bf2350f341e63cd3\"\u003e\u003ccode\u003ec9afdf8\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.4...eef1a539a373c1f1a320624b1130fc5de7b2e100\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.4\u0026new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jesdx/CapDeck/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesdx%2FCapDeck/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"2.9.4","new_version":"2.9.6","update_type":"patch","path":"/apps/macos","pr_created_at":"2026-09-10T19:21:12.000Z","version_change":"2.9.4 → 2.9.6","issue":{"uuid":"5416390097","node_id":"PR_kwDOSRYmZs8AAAABDCytyA","number":546,"state":"closed","title":"build(deps): bump the swift-deps group in /apps/macos with 4 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-11T01:00:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-10T19:21:12.000Z","updated_at":"2026-09-11T01:00:55.000Z","time_to_close":20381,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":4,"packages":[{"name":"github.com/orchetect/menubarextraaccess","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/orchetect/MenuBarExtraAccess"},{"name":"github.com/apple/swift-log","old_version":"1.14.0","new_version":"1.15.1","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.4","new_version":"2.9.6","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/pointfreeco/swift-concurrency-extras","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/pointfreeco/swift-concurrency-extras"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 4 updates: [github.com/orchetect/menubarextraaccess](https://github.com/orchetect/MenuBarExtraAccess), [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/pointfreeco/swift-concurrency-extras](https://github.com/pointfreeco/swift-concurrency-extras).\n\nUpdates `github.com/orchetect/menubarextraaccess` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/releases\"\u003egithub.com/orchetect/menubarextraaccess's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.1\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for macOS 27 beta 4 (\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/25\"\u003e#25\u003c/a\u003e/\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e)[^1]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e[^1]: Thanks to \u003ca href=\"https://github.com/samhenrigold\"\u003e\u003ccode\u003e@​samhenrigold\u003c/code\u003e\u003c/a\u003e for the PR!\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/e93e3a5b814714bf4d4cea67bf63a6b6a8323968\"\u003e\u003ccode\u003ee93e3a5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e from samhenrigold/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/52007d7434b4cbb1a03db5d037d4e0ae3ae6f414\"\u003e\u003ccode\u003e52007d7\u003c/code\u003e\u003c/a\u003e Updated local package reference path in example projects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/cd9d32a6e5c3e9249df2c26a4cdc87062a129c04\"\u003e\u003ccode\u003ecd9d32a\u003c/code\u003e\u003c/a\u003e Support macOS 27 expanded interface session machinery\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/509350b7c661d04ba94ba59db901532ed3094fa2\"\u003e\u003ccode\u003e509350b\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/7532b22240886e001c843d7e46cbaa6507ccd8fe\"\u003e\u003ccode\u003e7532b22\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/3da3e5f576f0fd953c8c2023d3aa30502d79d2b3\"\u003e\u003ccode\u003e3da3e5f\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/37795b8ce26c73a84c0e91dc04509751646ef8c2\"\u003e\u003ccode\u003e37795b8\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/a7ef1d205208bc861ea81bc4f8e9cfe6ec031e8b\"\u003e\u003ccode\u003ea7ef1d2\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/f53b048806ce4e2f69690f206dba36b99d4ec1f3\"\u003e\u003ccode\u003ef53b048\u003c/code\u003e\u003c/a\u003e SwiftFormat pass\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/ffa72c355a0aca64f75c0901f7420981bcd362f4\"\u003e\u003ccode\u003effa72c3\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/compare/1.3.0...1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/apple/swift-log` from 1.14.0 to 1.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.15.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRoute the SwiftLog 1.0 default log method to log(event:) by \u003ca href=\"https://github.com/lenamonj\"\u003e\u003ccode\u003e@​lenamonj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/503\"\u003eapple/swift-log#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix referencing WASILibc.stdout/stderr in Swift 6.5+ by \u003ca href=\"https://github.com/czechboy0\"\u003e\u003ccode\u003e@​czechboy0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/507\"\u003eapple/swift-log#507\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate benchmark thresholds values to match the CI by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/497\"\u003eapple/swift-log#497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CMake build instructions to README by \u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/493\"\u003eapple/swift-log#493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable simulator testing due to instability by \u003ca href=\"https://github.com/czechboy0\"\u003e\u003ccode\u003e@​czechboy0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/505\"\u003eapple/swift-log#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument that setting attributes on a collection value is a programmer error by \u003ca href=\"https://github.com/lenamonj\"\u003e\u003ccode\u003e@​lenamonj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/504\"\u003eapple/swift-log#504\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lenamonj\"\u003e\u003ccode\u003e@​lenamonj\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/504\"\u003eapple/swift-log#504\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.15.0...1.15.1\"\u003ehttps://github.com/apple/swift-log/compare/1.15.0...1.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.15.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eStreamLogHandler\u003c/code\u003e initializers public by \u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Xcode tests by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/473\"\u003eapple/swift-log#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing api refs by \u003ca href=\"https://github.com/heckj\"\u003e\u003ccode\u003e@​heckj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/478\"\u003eapple/swift-log#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd testing logs best practice by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/475\"\u003eapple/swift-log#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CMake support for Swift targets and test configurations by \u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/496\"\u003eapple/swift-log#496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate implemented proposals status by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/476\"\u003eapple/swift-log#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.11 to 0.0.12 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/480\"\u003eapple/swift-log#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 to 0.0.13 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/486\"\u003eapple/swift-log#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to construct log handlers that need more than a label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/490\"\u003eapple/swift-log#490\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.0\"\u003ehttps://github.com/apple/swift-log/compare/1.14.0...1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/9c6fb14227f55d8f711ce3847dc2f419fb0ecacb\"\u003e\u003ccode\u003e9c6fb14\u003c/code\u003e\u003c/a\u003e Fix referencing WASILibc.stdout/stderr in Swift 6.5+ (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/53d00853e69aef84d33b97706ac723dbaccff1e7\"\u003e\u003ccode\u003e53d0085\u003c/code\u003e\u003c/a\u003e Route the SwiftLog 1.0 default log method to log(event:) (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/503\"\u003e#503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/c5ece247864fe3d206c8c68bb68b3413447c61ae\"\u003e\u003ccode\u003ec5ece24\u003c/code\u003e\u003c/a\u003e Document that setting attributes on a collection value is a programmer error ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/172948a4b53703d4545e3ff30f0c99c045c59b5e\"\u003e\u003ccode\u003e172948a\u003c/code\u003e\u003c/a\u003e Disable simulator testing due to instability (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/505\"\u003e#505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/47a917767fde0cd7f5b5dfdabbec733d2cb2dd95\"\u003e\u003ccode\u003e47a9177\u003c/code\u003e\u003c/a\u003e Add CMake build instructions to README (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/f054da4c19fb6b8bd12cf250d47a1ae0db1468ea\"\u003e\u003ccode\u003ef054da4\u003c/code\u003e\u003c/a\u003e Update benchmark thresholds values to match the CI (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/497\"\u003e#497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3ffafb9722d5d918c614feb496c8789a3b59d222\"\u003e\u003ccode\u003e3ffafb9\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/496\"\u003e#496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/7af2de138f5f0fddf0bd5c7e19face6944ed76af\"\u003e\u003ccode\u003e7af2de1\u003c/code\u003e\u003c/a\u003e Document how to construct log handlers that need more than a label (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/e83726cb1573fad8a9972d68136f8f259841b25c\"\u003e\u003ccode\u003ee83726c\u003c/code\u003e\u003c/a\u003e Add CMake support for Swift targets and test configurations (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/8056dbfb08ab96bf959efbdb7a6fa8be4dd8f04c\"\u003e\u003ccode\u003e8056dbf\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 t...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.4 to 2.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003e\u003ccode\u003eac2def2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/de8eb17d170ab6a660a478e477417ff04ef3b2e3\"\u003e\u003ccode\u003ede8eb17\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/f6bc73a38cab825765435af34f7e1dc8bb04242b\"\u003e\u003ccode\u003ef6bc73a\u003c/code\u003e\u003c/a\u003e Harden safety of installer moving the download archive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/51245ef5b915cd9bc6e8f991f7a74586a50745e1\"\u003e\u003ccode\u003e51245ef\u003c/code\u003e\u003c/a\u003e Reject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c34faaed4cd4156653aea8aac23fe0b6bd497257\"\u003e\u003ccode\u003ec34faae\u003c/code\u003e\u003c/a\u003e Don't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.4...2.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pointfreeco/swift-concurrency-extras` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/releases\"\u003egithub.com/pointfreeco/swift-concurrency-extras's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Align .taskLocal trait to match proposal. \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/74\"\u003epointfreeco/swift-concurrency-extras#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Enable upcoming features \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/66\"\u003epointfreeco/swift-concurrency-extras#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Add docs badge to readme \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/73\"\u003epointfreeco/swift-concurrency-extras#73\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5fa253428866f2360c3754e88537f700ed2656b5\"\u003e\u003ccode\u003e5fa2534\u003c/code\u003e\u003c/a\u003e Run swift-format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/a0ce76ac7a4632a8dad75b2d87958587c56921c5\"\u003e\u003ccode\u003ea0ce76a\u003c/code\u003e\u003c/a\u003e Align .taskLocal trait to match proposal. (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/74\"\u003e#74\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/d77f692b459322fbec763c9e6e637233e8b972ef\"\u003e\u003ccode\u003ed77f692\u003c/code\u003e\u003c/a\u003e Add docs badge to readme (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/73\"\u003e#73\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/222b539117e97856d1570dade68486ff9d0ae6cd\"\u003e\u003ccode\u003e222b539\u003c/code\u003e\u003c/a\u003e Remove warning treatment for Swift 6.4 and above\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/55e06b34fcfa4471d0aac13f1406ac4405916e5e\"\u003e\u003ccode\u003e55e06b3\u003c/code\u003e\u003c/a\u003e Enable upcoming features (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/l3ocifer/puck-openclaw/pull/546","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3ocifer%2Fpuck-openclaw/issues/546","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/546/packages"}},{"old_version":"2.9.4","new_version":"2.9.6","update_type":"patch","path":"/apps/macos","pr_created_at":"2026-09-08T19:20:55.000Z","version_change":"2.9.4 → 2.9.6","issue":{"uuid":"5390945359","node_id":"PR_kwDOSRYmZs8AAAABCuVN7w","number":538,"state":"closed","title":"build(deps): bump the swift-deps group in /apps/macos with 4 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-09T01:10:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-08T19:20:55.000Z","updated_at":"2026-09-09T01:10:45.000Z","time_to_close":20988,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":4,"packages":[{"name":"github.com/orchetect/menubarextraaccess","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/orchetect/MenuBarExtraAccess"},{"name":"github.com/apple/swift-log","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.4","new_version":"2.9.6","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/pointfreeco/swift-concurrency-extras","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/pointfreeco/swift-concurrency-extras"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 4 updates: [github.com/orchetect/menubarextraaccess](https://github.com/orchetect/MenuBarExtraAccess), [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/pointfreeco/swift-concurrency-extras](https://github.com/pointfreeco/swift-concurrency-extras).\n\nUpdates `github.com/orchetect/menubarextraaccess` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/releases\"\u003egithub.com/orchetect/menubarextraaccess's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.1\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for macOS 27 beta 4 (\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/25\"\u003e#25\u003c/a\u003e/\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e)[^1]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e[^1]: Thanks to \u003ca href=\"https://github.com/samhenrigold\"\u003e\u003ccode\u003e@​samhenrigold\u003c/code\u003e\u003c/a\u003e for the PR!\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/e93e3a5b814714bf4d4cea67bf63a6b6a8323968\"\u003e\u003ccode\u003ee93e3a5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e from samhenrigold/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/52007d7434b4cbb1a03db5d037d4e0ae3ae6f414\"\u003e\u003ccode\u003e52007d7\u003c/code\u003e\u003c/a\u003e Updated local package reference path in example projects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/cd9d32a6e5c3e9249df2c26a4cdc87062a129c04\"\u003e\u003ccode\u003ecd9d32a\u003c/code\u003e\u003c/a\u003e Support macOS 27 expanded interface session machinery\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/509350b7c661d04ba94ba59db901532ed3094fa2\"\u003e\u003ccode\u003e509350b\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/7532b22240886e001c843d7e46cbaa6507ccd8fe\"\u003e\u003ccode\u003e7532b22\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/3da3e5f576f0fd953c8c2023d3aa30502d79d2b3\"\u003e\u003ccode\u003e3da3e5f\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/37795b8ce26c73a84c0e91dc04509751646ef8c2\"\u003e\u003ccode\u003e37795b8\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/a7ef1d205208bc861ea81bc4f8e9cfe6ec031e8b\"\u003e\u003ccode\u003ea7ef1d2\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/f53b048806ce4e2f69690f206dba36b99d4ec1f3\"\u003e\u003ccode\u003ef53b048\u003c/code\u003e\u003c/a\u003e SwiftFormat pass\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/ffa72c355a0aca64f75c0901f7420981bcd362f4\"\u003e\u003ccode\u003effa72c3\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/compare/1.3.0...1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/apple/swift-log` from 1.14.0 to 1.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.15.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eStreamLogHandler\u003c/code\u003e initializers public by \u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Xcode tests by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/473\"\u003eapple/swift-log#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing api refs by \u003ca href=\"https://github.com/heckj\"\u003e\u003ccode\u003e@​heckj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/478\"\u003eapple/swift-log#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd testing logs best practice by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/475\"\u003eapple/swift-log#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CMake support for Swift targets and test configurations by \u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/496\"\u003eapple/swift-log#496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate implemented proposals status by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/476\"\u003eapple/swift-log#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.11 to 0.0.12 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/480\"\u003eapple/swift-log#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 to 0.0.13 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/486\"\u003eapple/swift-log#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to construct log handlers that need more than a label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/490\"\u003eapple/swift-log#490\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.0\"\u003ehttps://github.com/apple/swift-log/compare/1.14.0...1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3ffafb9722d5d918c614feb496c8789a3b59d222\"\u003e\u003ccode\u003e3ffafb9\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/496\"\u003e#496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/7af2de138f5f0fddf0bd5c7e19face6944ed76af\"\u003e\u003ccode\u003e7af2de1\u003c/code\u003e\u003c/a\u003e Document how to construct log handlers that need more than a label (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/e83726cb1573fad8a9972d68136f8f259841b25c\"\u003e\u003ccode\u003ee83726c\u003c/code\u003e\u003c/a\u003e Add CMake support for Swift targets and test configurations (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/8056dbfb08ab96bf959efbdb7a6fa8be4dd8f04c\"\u003e\u003ccode\u003e8056dbf\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1032aed8a5c20aeb41c3dd40fc82cad623598e1b\"\u003e\u003ccode\u003e1032aed\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.11 t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1895d78a91cb6c0ae8d633a2a4d91670ed5a2733\"\u003e\u003ccode\u003e1895d78\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eStreamLogHandler\u003c/code\u003e initializers public (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/8a6b9eab8446418dd712738f02789341de0934d3\"\u003e\u003ccode\u003e8a6b9ea\u003c/code\u003e\u003c/a\u003e Add testing logs best practice (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/c4e96785bfe44458549086909c4f125901da997c\"\u003e\u003ccode\u003ec4e9678\u003c/code\u003e\u003c/a\u003e Add missing api refs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/478\"\u003e#478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/54ec9e35cde583443ff9373e03c1f2cb9b8cd515\"\u003e\u003ccode\u003e54ec9e3\u003c/code\u003e\u003c/a\u003e Update implemented proposals status (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/476\"\u003e#476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/e3b5d65fc93a7258c5839436f3fd087bc6681671\"\u003e\u003ccode\u003ee3b5d65\u003c/code\u003e\u003c/a\u003e Enable Xcode tests (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.4 to 2.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003e\u003ccode\u003eac2def2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/de8eb17d170ab6a660a478e477417ff04ef3b2e3\"\u003e\u003ccode\u003ede8eb17\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/f6bc73a38cab825765435af34f7e1dc8bb04242b\"\u003e\u003ccode\u003ef6bc73a\u003c/code\u003e\u003c/a\u003e Harden safety of installer moving the download archive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/51245ef5b915cd9bc6e8f991f7a74586a50745e1\"\u003e\u003ccode\u003e51245ef\u003c/code\u003e\u003c/a\u003e Reject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c34faaed4cd4156653aea8aac23fe0b6bd497257\"\u003e\u003ccode\u003ec34faae\u003c/code\u003e\u003c/a\u003e Don't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.4...2.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pointfreeco/swift-concurrency-extras` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/releases\"\u003egithub.com/pointfreeco/swift-concurrency-extras's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Align .taskLocal trait to match proposal. \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/74\"\u003epointfreeco/swift-concurrency-extras#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Enable upcoming features \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/66\"\u003epointfreeco/swift-concurrency-extras#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Add docs badge to readme \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/73\"\u003epointfreeco/swift-concurrency-extras#73\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5fa253428866f2360c3754e88537f700ed2656b5\"\u003e\u003ccode\u003e5fa2534\u003c/code\u003e\u003c/a\u003e Run swift-format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/a0ce76ac7a4632a8dad75b2d87958587c56921c5\"\u003e\u003ccode\u003ea0ce76a\u003c/code\u003e\u003c/a\u003e Align .taskLocal trait to match proposal. (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/74\"\u003e#74\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/d77f692b459322fbec763c9e6e637233e8b972ef\"\u003e\u003ccode\u003ed77f692\u003c/code\u003e\u003c/a\u003e Add docs badge to readme (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/73\"\u003e#73\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/222b539117e97856d1570dade68486ff9d0ae6cd\"\u003e\u003ccode\u003e222b539\u003c/code\u003e\u003c/a\u003e Remove warning treatment for Swift 6.4 and above\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/55e06b34fcfa4471d0aac13f1406ac4405916e5e\"\u003e\u003ccode\u003e55e06b3\u003c/code\u003e\u003c/a\u003e Enable upcoming features (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/l3ocifer/puck-openclaw/pull/538","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3ocifer%2Fpuck-openclaw/issues/538","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/538/packages"}},{"old_version":"2.9.2","new_version":"2.9.6","update_type":"patch","path":null,"pr_created_at":"2026-09-01T08:59:49.000Z","version_change":"2.9.2 → 2.9.6","issue":{"uuid":"5309901615","node_id":"PR_kwDOT4Omds8AAAABBuKiQA","number":9,"state":"closed","title":"build(deps): bump github.com/sparkle-project/sparkle from 2.9.2 to 2.9.6","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-02T03:36:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-01T08:59:49.000Z","updated_at":"2026-09-02T03:36:31.000Z","time_to_close":66999,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.2","new_version":"2.9.6","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.2 to 2.9.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.4 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains an activation fix for backgrounded / dockless applications using Sparkle's standard user interface.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.3 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix updating not working the first time if the app's bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a very specific installation fix for apps that use a bundle identifier ending with .app\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/blob/2.x/CHANGELOG\"\u003egithub.com/sparkle-project/sparkle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.9.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.3\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix updating not working the first time if the app's bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003e\u003ccode\u003eac2def2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/de8eb17d170ab6a660a478e477417ff04ef3b2e3\"\u003e\u003ccode\u003ede8eb17\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/f6bc73a38cab825765435af34f7e1dc8bb04242b\"\u003e\u003ccode\u003ef6bc73a\u003c/code\u003e\u003c/a\u003e Harden safety of installer moving the download archive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/51245ef5b915cd9bc6e8f991f7a74586a50745e1\"\u003e\u003ccode\u003e51245ef\u003c/code\u003e\u003c/a\u003e Reject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c34faaed4cd4156653aea8aac23fe0b6bd497257\"\u003e\u003ccode\u003ec34faae\u003c/code\u003e\u003c/a\u003e Don't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/b6496a74a087257ef5e6da1c5b29a447a60f5bd7\"\u003e\u003ccode\u003eb6496a7\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/4ba9745eca7186b85c466663e627637cee8f2b1d\"\u003e\u003ccode\u003e4ba9745\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.9.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.2...ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.2\u0026new-version=2.9.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ihopefulChina/Ossuno/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ihopefulChina%2FOssuno/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"2.8.0","new_version":"2.9.6","update_type":"minor","path":null,"pr_created_at":"2026-08-28T07:53:55.000Z","version_change":"2.8.0 → 2.9.6","issue":{"uuid":"5276009789","node_id":"PR_kwDOUG1S2c8AAAABBTzBiw","number":1,"state":"closed","title":"Bump the swift-packages group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-09T05:03:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-28T07:53:55.000Z","updated_at":"2026-09-09T05:03:24.000Z","time_to_close":1026566,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"swift-packages","update_count":3,"packages":[{"name":"github.com/buh/compactslider","old_version":"1.2.1","new_version":"2.1.0","repository_url":"https://github.com/buh/CompactSlider"},{"name":"github.com/ukushu/ifrit","old_version":"2.0.6","new_version":"4.0.0","repository_url":"https://github.com/ukushu/Ifrit"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.8.0","new_version":"2.9.6","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps the swift-packages group with 3 updates in the / directory: [github.com/buh/compactslider](https://github.com/buh/CompactSlider), [github.com/ukushu/ifrit](https://github.com/ukushu/Ifrit) and [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle).\n\nUpdates `github.com/buh/compactslider` from 1.2.1 to 2.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/buh/CompactSlider/releases\"\u003egithub.com/buh/compactslider's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.0\u003c/h2\u003e\n\u003cp\u003eNew Features:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003ePrecision Control - The new .precisionControl() option for fine-grained adjustments\u003c/li\u003e\n\u003cli\u003eEnhanced Scale API - Separated into three clear methods:\n- \u003ccode\u003e.compactSliderScale()\u003c/code\u003e - Customize the default scale\n- \u003ccode\u003e.compactSliderScaleStyles()\u003c/code\u003e - Use custom scale shape styles\n- \u003ccode\u003e.compactSliderScaleView()\u003c/code\u003e - Completely custom scale views\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eProgress Range Clamping - Fixed rendering issues when values exceed bounds\u003c/li\u003e\n\u003cli\u003eScale Visibility - Fixed disappearing scales when using visibility without custom styles\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/buh/CompactSlider/blob/HEAD/ReleaseNotes/RELEASE_NOTES_2.1.0.md\"\u003eRELEASE_NOTES_2.1.0.md\u003c/a\u003e include code examples, usage patterns, and explanations of how each feature works.\u003c/p\u003e\n\u003ch2\u003e2.0.9\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed warning \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/30\"\u003e#30\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded a haptic feedback at 50% and snap to it for the linear center sliders.\u003c/li\u003e\n\u003cli\u003eShow the handle view also at 100% for linear sliders.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.8\u003c/h2\u003e\n\u003ch2\u003eNew option \u003ccode\u003e.simultaneousGesture\u003c/code\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAttaches a simultaneous gesture to the slider and it has less priority than \u003ccode\u003e.highPriorityGesture\u003c/code\u003e option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew demo \u003ccode\u003eSlidersInScrollView\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eShows an example of sliders in a sheet and in a \u003ccode\u003eScrollView\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003e2.0.7\u003c/h2\u003e\n\u003cp\u003eFixed \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/25\"\u003e#25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.0.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/22\"\u003e#22\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded animation for progressDidChange (\u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/23\"\u003e#23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded a player demo for SystemSlider:\n\u003cimg src=\"https://github.com/user-attachments/assets/f13ac150-f34b-4018-8b98-d196e24fd849\" alt=\"player_demo\" /\u003e\u003c/p\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003cp\u003eFix bug \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/21\"\u003e#21\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.0.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003e.compactSliderOnChange\u003c/code\u003e modifier to observe configuration changes. The action calls on any configuration state or progress changes.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eFocusState.isWheelScrolling\u003c/code\u003e for macOS. It's also could be animated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eExample:\u003c/p\u003e\n\u003cpre lang=\"swift\"\u003e\u003ccode\u003eCompactSlider(value: $value)\r\n    .compactSliderOnChange {  configuration in\r\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/52a01bd09156152881c53ba235c862e3bf5690b1\"\u003e\u003ccode\u003e52a01bd\u003c/code\u003e\u003c/a\u003e Release notes for 2.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/eac6e4d22cfe85060783a6b834bfcf2d031b9acb\"\u003e\u003ccode\u003eeac6e4d\u003c/code\u003e\u003c/a\u003e Add more flexibility for the default scale \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/32\"\u003e#32\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/ec0adf5a18b80a81f5e67dc43b88f30ff88677b3\"\u003e\u003ccode\u003eec0adf5\u003c/code\u003e\u003c/a\u003e Make the default scale adjustable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/2d3ca5b04e0e4559084c02d523c1b6865ccbefbb\"\u003e\u003ccode\u003e2d3ca5b\u003c/code\u003e\u003c/a\u003e Fix the progress range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/af891fb52da92bbd05d9e451db117928a3c0867d\"\u003e\u003ccode\u003eaf891fb\u003c/code\u003e\u003c/a\u003e Add CLAUDE.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/9067de760db7467b571f617e11bd9217889ec849\"\u003e\u003ccode\u003e9067de7\u003c/code\u003e\u003c/a\u003e Add precisionControl. Improvements for \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/33\"\u003e#33\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/f07c7a5d03a2d9541aae1b7ebff861b77561ee31\"\u003e\u003ccode\u003ef07c7a5\u003c/code\u003e\u003c/a\u003e Show the handler also at 100%\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/601c62e5072abcb25db591417456ee4a73d33b4c\"\u003e\u003ccode\u003e601c62e\u003c/code\u003e\u003c/a\u003e Add haptic for 50%\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/d1f5eb4201d5f440f321d8af5adf8033d7bc3be5\"\u003e\u003ccode\u003ed1f5eb4\u003c/code\u003e\u003c/a\u003e Fix warnings \u003ca href=\"https://redirect.github.com/buh/CompactSlider/issues/30\"\u003e#30\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/buh/CompactSlider/commit/8fe10bfefc283849f8abc8747c761d3db32ff4a7\"\u003e\u003ccode\u003e8fe10bf\u003c/code\u003e\u003c/a\u003e Update SlidersInScrollView demo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/buh/CompactSlider/compare/1.2.1...52a01bd09156152881c53ba235c862e3bf5690b1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/ukushu/ifrit` from 2.0.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ukushu/Ifrit/releases\"\u003egithub.com/ukushu/ifrit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ev4.0.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eLevenstain\u003c/code\u003e to \u003ccode\u003eLevenstein\u003c/code\u003e (Breaked backward compatibility)\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eLevenstein\u003c/code\u003e performance by implementing \u003ccode\u003eLevensteinBitap\u003c/code\u003e algorithm\u003c/li\u003e\n\u003cli\u003eNow you can choose which one algorithm do you want to use in Levenstain. You can choose: \u003ccode\u003e.text\u003c/code\u003e and \u003ccode\u003e.bitap\u003c/code\u003e. Default is \u003ccode\u003e.bitap\u003c/code\u003e because of it's much-much faster.\u003c/li\u003e\n\u003cli\u003eSeparated \u003ccode\u003eLevenstein\u003c/code\u003e and \u003ccode\u003eFuzzyFind\u003c/code\u003e, because of \u003ccode\u003eFuzzyFind\u003c/code\u003e is not related to \u003ccode\u003eLevenstein\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplemented and used \u003ccode\u003eBitapFilter\u003c/code\u003e inside of \u003ccode\u003eFuzzyFind\u003c/code\u003e to improve performance \u003ccode\u003eFuzzyFind\u003c/code\u003e's performance\u003c/li\u003e\n\u003cli\u003eImproved tests\u003c/li\u003e\n\u003cli\u003eMinor documentation fixes\u003c/li\u003e\n\u003cli\u003eOther minor improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange default \u003ccode\u003eobjSortStrategy\u003c/code\u003e to \u003ccode\u003e.minimalScore\u003c/code\u003e (breaked backward compatibility)\u003c/li\u003e\n\u003cli\u003eImproved documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ukushu/Ifrit/blob/main/CHANGELOG.md\"\u003egithub.com/ukushu/ifrit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ev4.0.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eLevenstain\u003c/code\u003e to \u003ccode\u003eLevenstein\u003c/code\u003e (Breaked backward compatibility)\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eLevenstein\u003c/code\u003e performance by implementing \u003ccode\u003eLevensteinBitap\u003c/code\u003e algorythm\u003c/li\u003e\n\u003cli\u003eNow you can choose which one algorythm do you want to use in Levenstain. You can choose: \u003ccode\u003e.text\u003c/code\u003e and \u003ccode\u003e.bitap\u003c/code\u003e. Default is \u003ccode\u003e.bitap\u003c/code\u003e because of it's much-much faster.\u003c/li\u003e\n\u003cli\u003eSeparated \u003ccode\u003eLevenstein\u003c/code\u003e and \u003ccode\u003eFuzzyFind\u003c/code\u003e, because of \u003ccode\u003eFuzzyFind\u003c/code\u003e is not related to \u003ccode\u003eLevenstein\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplemented and used \u003ccode\u003eBitapFilter\u003c/code\u003e inside of \u003ccode\u003eFuzzyFind\u003c/code\u003e to improve performance \u003ccode\u003eFuzzyFind\u003c/code\u003e's performance\u003c/li\u003e\n\u003cli\u003eImproved tests\u003c/li\u003e\n\u003cli\u003eMinor documentation fixes\u003c/li\u003e\n\u003cli\u003eOther minor improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ev3.0.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChange default \u003ccode\u003eobjSortStrategy\u003c/code\u003e to \u003ccode\u003e.minimalScore\u003c/code\u003e (breaked backward compatibility)\u003c/li\u003e\n\u003cli\u003eImproved documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ukushu/Ifrit/compare/2.0.6...7c889a67bad90c5efefa56889b2d61bfbb831473\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.8.0 to 2.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.4 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains an activation fix for backgrounded / dockless applications using Sparkle's standard user interface.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.3 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix updating not working the first time if the app's bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a very specific installation fix for apps that use a bundle identifier ending with .app\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/blob/2.x/CHANGELOG\"\u003egithub.com/sparkle-project/sparkle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.9.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.3\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix updating not working the first time if the app's bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential crash due to race condition within clearDownloadedUpdate (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2863\"\u003e#2863\u003c/a\u003e) (Julian Pscheid)\u003c/li\u003e\n\u003cli\u003eFix generate_appcast failing if feed URL doesn't have lastPathComponent (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2862\"\u003e#2862\u003c/a\u003e) (Julian Pscheid)\u003c/li\u003e\n\u003cli\u003eDon't let progress status text title string line wrap (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2856\"\u003e#2856\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd minimal framework support for building arm64e (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2858\"\u003e#2858\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2860\"\u003e#2860\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd SKIP_INSTALL=YES to for XPCServices targets (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2864\"\u003e#2864\u003c/a\u003e) (Jeremy Huddleston Sequoia)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.9.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd basic markdown support for release notes (requires macOS 12+) including \u003ca href=\"https://sparkle-project.org/documentation/publishing#adapting-markdown-or-plain-text-release-notes\"\u003ecustomizing its presentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2810\"\u003e#2810\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2817\"\u003e#2817\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://sparkle-project.org/documentation#signing-feeds-optional\"\u003esigning and verifying appcast feeds\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2822\"\u003e#2822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2828\"\u003e#2828\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://sparkle-project.org/documentation/publishing#minimum-system-version-requirements\"\u003esparkle:hardwareRequirements\u003c/a\u003e for enforcing an Apple silicon (arm64) requirement (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2797\"\u003e#2797\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd \u003ca href=\"https://sparkle-project.org/documentation/publishing/#upgrading-to-newer-features\"\u003esparkle:minimumUpdateVersion\u003c/a\u003e for specifying a minimum version an app needs to be on before upgrading (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2811\"\u003e#2811\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd API annotations for Swift concurrency (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2827\"\u003e#2827\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eValidate Obj-C class when reading objects from user defaults / Info plists (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2782\"\u003e#2782\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eDownload temporary files in-memory using NSURLSessionDataTask (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2825\"\u003e#2825\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAllow \u003ca href=\"https://sparkle-project.org/documentation/customization/\"\u003eimpatient update check interval\u003c/a\u003e to be configured for updates that are downloaded automatically (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2799\"\u003e#2799\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eProbe agent \u0026amp; status service as soon as we launch it to reduce timeout issues (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2852\"\u003e#2852\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eallowsAutomaticUpdates\u003c/code\u003e property to determine if automatic downloading/installing of updates option should be enabled (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2809\"\u003e#2809\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd Vietnamese translation (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2816\"\u003e#2816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2839\"\u003e#2839\u003c/a\u003e) (TranPhuong319)\u003c/li\u003e\n\u003cli\u003eAdd missing nn language to Installer progress Info.plist (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2818\"\u003e#2818\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eImprove German localization (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2847\"\u003e#2847\u003c/a\u003e) (Marco Hillger)\u003c/li\u003e\n\u003cli\u003eFind non-canonical Sparkle.framework locations in generate_appcast when creating delta updates to determine compatibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2833\"\u003e#2833\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003e\u003ccode\u003eac2def2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/de8eb17d170ab6a660a478e477417ff04ef3b2e3\"\u003e\u003ccode\u003ede8eb17\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/f6bc73a38cab825765435af34f7e1dc8bb04242b\"\u003e\u003ccode\u003ef6bc73a\u003c/code\u003e\u003c/a\u003e Harden safety of installer moving the download archive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/51245ef5b915cd9bc6e8f991f7a74586a50745e1\"\u003e\u003ccode\u003e51245ef\u003c/code\u003e\u003c/a\u003e Reject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c34faaed4cd4156653aea8aac23fe0b6bd497257\"\u003e\u003ccode\u003ec34faae\u003c/code\u003e\u003c/a\u003e Don't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/b6496a74a087257ef5e6da1c5b29a447a60f5bd7\"\u003e\u003ccode\u003eb6496a7\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/4ba9745eca7186b85c466663e627637cee8f2b1d\"\u003e\u003ccode\u003e4ba9745\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.9.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.8.0...ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/Mabry-Ventures/Barline/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mabry-Ventures%2FBarline/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"}},{"old_version":"2.9.4","new_version":"2.9.6","update_type":"patch","path":null,"pr_created_at":"2026-08-13T01:39:58.000Z","version_change":"2.9.4 → 2.9.6","issue":{"uuid":"5136905175","node_id":"PR_kwDOSB4jqM7-WqQb","number":63,"state":"closed","title":"build(deps): bump the swift-deps group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-04T05:37:58.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-13T01:39:58.000Z","updated_at":"2026-09-04T05:38:00.000Z","time_to_close":1915080,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/orchetect/menubarextraaccess","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/orchetect/MenuBarExtraAccess"},{"name":"github.com/apple/swift-log","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.4","new_version":"2.9.6","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps the swift-deps group with 3 updates in the /apps/macos directory: [github.com/orchetect/menubarextraaccess](https://github.com/orchetect/MenuBarExtraAccess), [github.com/apple/swift-log](https://github.com/apple/swift-log) and [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle).\n\nUpdates `github.com/orchetect/menubarextraaccess` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/releases\"\u003egithub.com/orchetect/menubarextraaccess's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.1\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for macOS 27 beta 4 (\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/25\"\u003e#25\u003c/a\u003e/\u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e)[^1]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e[^1]: Thanks to \u003ca href=\"https://github.com/samhenrigold\"\u003e\u003ccode\u003e@​samhenrigold\u003c/code\u003e\u003c/a\u003e for the PR!\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/e93e3a5b814714bf4d4cea67bf63a6b6a8323968\"\u003e\u003ccode\u003ee93e3a5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/orchetect/MenuBarExtraAccess/issues/26\"\u003e#26\u003c/a\u003e from samhenrigold/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/52007d7434b4cbb1a03db5d037d4e0ae3ae6f414\"\u003e\u003ccode\u003e52007d7\u003c/code\u003e\u003c/a\u003e Updated local package reference path in example projects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/cd9d32a6e5c3e9249df2c26a4cdc87062a129c04\"\u003e\u003ccode\u003ecd9d32a\u003c/code\u003e\u003c/a\u003e Support macOS 27 expanded interface session machinery\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/509350b7c661d04ba94ba59db901532ed3094fa2\"\u003e\u003ccode\u003e509350b\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/7532b22240886e001c843d7e46cbaa6507ccd8fe\"\u003e\u003ccode\u003e7532b22\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/3da3e5f576f0fd953c8c2023d3aa30502d79d2b3\"\u003e\u003ccode\u003e3da3e5f\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/37795b8ce26c73a84c0e91dc04509751646ef8c2\"\u003e\u003ccode\u003e37795b8\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/a7ef1d205208bc861ea81bc4f8e9cfe6ec031e8b\"\u003e\u003ccode\u003ea7ef1d2\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/f53b048806ce4e2f69690f206dba36b99d4ec1f3\"\u003e\u003ccode\u003ef53b048\u003c/code\u003e\u003c/a\u003e SwiftFormat pass\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/ffa72c355a0aca64f75c0901f7420981bcd362f4\"\u003e\u003ccode\u003effa72c3\u003c/code\u003e\u003c/a\u003e Updated .swiftformat\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/compare/1.3.0...1.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/apple/swift-log` from 1.14.0 to 1.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.15.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eStreamLogHandler\u003c/code\u003e initializers public by \u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Xcode tests by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/473\"\u003eapple/swift-log#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing api refs by \u003ca href=\"https://github.com/heckj\"\u003e\u003ccode\u003e@​heckj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/478\"\u003eapple/swift-log#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd testing logs best practice by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/475\"\u003eapple/swift-log#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CMake support for Swift targets and test configurations by \u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/496\"\u003eapple/swift-log#496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate implemented proposals status by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/476\"\u003eapple/swift-log#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.11 to 0.0.12 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/480\"\u003eapple/swift-log#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 to 0.0.13 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/486\"\u003eapple/swift-log#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to construct log handlers that need more than a label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/490\"\u003eapple/swift-log#490\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/subhramit\"\u003e\u003ccode\u003e@​subhramit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/477\"\u003eapple/swift-log#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitras-git\"\u003e\u003ccode\u003e@​mitras-git\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/485\"\u003eapple/swift-log#485\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.0\"\u003ehttps://github.com/apple/swift-log/compare/1.14.0...1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3ffafb9722d5d918c614feb496c8789a3b59d222\"\u003e\u003ccode\u003e3ffafb9\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eReadWriteLock.init\u003c/code\u003e \u003ccode\u003einternal\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/496\"\u003e#496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/7af2de138f5f0fddf0bd5c7e19face6944ed76af\"\u003e\u003ccode\u003e7af2de1\u003c/code\u003e\u003c/a\u003e Document how to construct log handlers that need more than a label (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/e83726cb1573fad8a9972d68136f8f259841b25c\"\u003e\u003ccode\u003ee83726c\u003c/code\u003e\u003c/a\u003e Add CMake support for Swift targets and test configurations (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/8056dbfb08ab96bf959efbdb7a6fa8be4dd8f04c\"\u003e\u003ccode\u003e8056dbf\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.12 t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1032aed8a5c20aeb41c3dd40fc82cad623598e1b\"\u003e\u003ccode\u003e1032aed\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.11 t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1895d78a91cb6c0ae8d633a2a4d91670ed5a2733\"\u003e\u003ccode\u003e1895d78\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003eStreamLogHandler\u003c/code\u003e initializers public (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/8a6b9eab8446418dd712738f02789341de0934d3\"\u003e\u003ccode\u003e8a6b9ea\u003c/code\u003e\u003c/a\u003e Add testing logs best practice (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/475\"\u003e#475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/c4e96785bfe44458549086909c4f125901da997c\"\u003e\u003ccode\u003ec4e9678\u003c/code\u003e\u003c/a\u003e Add missing api refs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/478\"\u003e#478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/54ec9e35cde583443ff9373e03c1f2cb9b8cd515\"\u003e\u003ccode\u003e54ec9e3\u003c/code\u003e\u003c/a\u003e Update implemented proposals status (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/476\"\u003e#476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/e3b5d65fc93a7258c5839436f3fd087bc6681671\"\u003e\u003ccode\u003ee3b5d65\u003c/code\u003e\u003c/a\u003e Enable Xcode tests (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/473\"\u003e#473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apple/swift-log/compare/1.14.0...1.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.4 to 2.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.6 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden safety of installer moving the download archive (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2898\"\u003e#2898\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eDon't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e) (Zorg, Joshua Rogers)\u003c/li\u003e\n\u003cli\u003eReject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a couple of security fixes reported by \u003ca href=\"https://github.com/MegaManSec\"\u003e\u003ccode\u003e@​MegaManSec\u003c/code\u003e\u003c/a\u003e including a high-complex symlink security fix, and a privilege escalation fix affecting processes running as root using Sparkle (like running sparkle-cli as root). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.5\"\u003e2.9.5\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/ac2def288cbff5cfc7df3ffef6abdf45b72bcb0a\"\u003e\u003ccode\u003eac2def2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/de8eb17d170ab6a660a478e477417ff04ef3b2e3\"\u003e\u003ccode\u003ede8eb17\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/f6bc73a38cab825765435af34f7e1dc8bb04242b\"\u003e\u003ccode\u003ef6bc73a\u003c/code\u003e\u003c/a\u003e Harden safety of installer moving the download archive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/51245ef5b915cd9bc6e8f991f7a74586a50745e1\"\u003e\u003ccode\u003e51245ef\u003c/code\u003e\u003c/a\u003e Reject package based installs when signing validation failed (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c34faaed4cd4156653aea8aac23fe0b6bd497257\"\u003e\u003ccode\u003ec34faae\u003c/code\u003e\u003c/a\u003e Don't copy progress tool for root user (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2897\"\u003e#2897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.4...2.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/jckm14/openclaw/pull/63","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jckm14%2Fopenclaw/issues/63","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/63/packages"}},{"old_version":"2.9.4","new_version":"2.9.5","update_type":"patch","path":null,"pr_created_at":"2026-08-04T20:41:30.000Z","version_change":"2.9.4 → 2.9.5","issue":{"uuid":"5064712472","node_id":"PR_kwDOTknthM76wXI8","number":11,"state":"closed","title":"build(deps): bump the swift-deps group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-08-07T20:42:28.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-04T20:41:30.000Z","updated_at":"2026-08-07T20:42:30.000Z","time_to_close":259258,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.4","new_version":"2.9.5","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.9.6","new_version":"3.9.9","repository_url":"https://github.com/steipete/Peekaboo"},{"name":"github.com/pointfreeco/swift-concurrency-extras","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/pointfreeco/swift-concurrency-extras"}],"path":null,"ecosystem":"swift"},"body":"Bumps the swift-deps group with 3 updates in the /apps/macos directory: [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle), [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo) and [github.com/pointfreeco/swift-concurrency-extras](https://github.com/pointfreeco/swift-concurrency-extras).\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.4 to 2.9.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.5 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eHarden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e) (Zorg, Arpit Jain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a high-complex symlink security fix reported by \u003ca href=\"https://github.com/ararpitjain099\"\u003e\u003ccode\u003e@​ararpitjain099\u003c/code\u003e\u003c/a\u003e (this is a more complete fix to an issue identified in 2.9.2). Details are updated in \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003ehttps://github.com/sparkle-project/Sparkle/discussions/2838\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.4\"\u003e2.9.4\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/79bc9e872948e47877e76f194cb0c8e0412b0b90\"\u003e\u003ccode\u003e79bc9e8\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/be4882f1ff70aeff2c37029782e092eeb5e3adad\"\u003e\u003ccode\u003ebe4882f\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for 2.9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/77669eabe8c306c520f1e1119dd58fb92544d647\"\u003e\u003ccode\u003e77669ea\u003c/code\u003e\u003c/a\u003e Harden patching delta file against symbolic link at destination path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.4...2.9.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.9.6 to 3.9.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.9.9\u003c/h2\u003e\n\u003ch2\u003e[3.9.9] - 2026-08-02\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefresh Swift package locks, AXorcist, Tachikoma, and the pnpm toolchain to their latest compatible releases.\u003c/li\u003e\n\u003cli\u003eRestructure the Mac app's status bar menu with a live permission status, primary destinations first, one Permissions entry, housekeeping grouped at the bottom, and context menus anchored beneath the status item.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAI OAuth (ChatGPT login) sessions with an expired access token but valid refresh token are no longer reported unavailable; vision/\u003ccode\u003e--analyze\u003c/code\u003e now routes through the Codex Responses OAuth transport. Thanks \u003ca href=\"https://github.com/scotthuang\"\u003e\u003ccode\u003e@​scotthuang\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/293\"\u003e#293\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eMCP shell commands now support an opt-in timeout that safely terminates the launch-owned process group and bounds pipe draining without changing the legacy unlimited default. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/298\"\u003e#298\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePublish the Ollama provider guides referenced throughout the generated documentation instead of emitting broken links.\u003c/li\u003e\n\u003cli\u003eRefresh Screen Recording and Event Synthesizing grants in the Mac app's permissions checklist without requiring an app restart.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVerification\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.9.9\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.9.9\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.9.9.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.9.9.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrity: sha512-7f9wbLXyfQQH/owD9PWMkCE4Yn9FN5qnvD1Opb0k1wvWlrVn0CuYrhax5fez9MttXSptTxjSPZC/E+/oZR39QA==\u003c/li\u003e\n\u003cli\u003ePublished: 2026-08-02T20:31:02.953Z, dist-tag latest -\u0026gt; 3.9.9\u003c/li\u003e\n\u003cli\u003eSigning: Developer ID Application: OpenClaw Foundation (FWJYW4S8P8); CLI, app, and DMG notarized and stapled (CLI submission 4ce2cfe0-4635-48de-8715-b21506c58814); release artifact verification passed with strict codesign + Gatekeeper checks\u003c/li\u003e\n\u003cli\u003eTests: PeekabooCore, CLI, AutomationKit, and Mac app suites green locally and in CI on main (permissions 12/12, status bar 10/10, OAuth 15/15); release built from main at 9e1cb72f\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.9.8\u003c/h2\u003e\n\u003ch2\u003e[3.9.8] - 2026-07-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent MCP shell commands from deadlocking when either stdout or stderr exceeds its pipe buffer by draining both streams concurrently. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/292\"\u003e#292\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVerification\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe universal CLI, npm payload, app ZIP, and DMG are signed by \u003ccode\u003eDeveloper ID Application: OpenClaw Foundation (FWJYW4S8P8)\u003c/code\u003e; the CLI, app, and DMG were accepted by Apple notarization, and the app and DMG tickets were stapled and validated.\u003c/li\u003e\n\u003cli\u003eThe app ZIP has Sparkle EdDSA signature \u003ccode\u003eZgsOGc31JUIVfMAVdNlROjbFjySGgyRoPpxcSfvWg5seb377C/XEPjyTOOpMGqD1x9IdsK08qUosiV/TX0RsCg==\u003c/code\u003e and byte length \u003ccode\u003e17015855\u003c/code\u003e in the appcast.\u003c/li\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.9.8\"\u003e@​steipete/peekaboo@3.9.8\u003c/a\u003e, \u003ccode\u003elatest\u003c/code\u003e, tarball \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.9.8.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.9.8.tgz\u003c/a\u003e, integrity \u003ccode\u003esha512-nVSHfZfFviuo4b4UvD0Duf/Cyp9IGwcLRNNeXUecBWgDHxcuz+R1jgDKXVWKTvzY1/5CaWBUbzINPhqgH6YgLw==\u003c/code\u003e, published 2026-07-23T18:34:40.256Z.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.9.7\u003c/h2\u003e\n\u003ch2\u003e[3.9.7] - 2026-07-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRestore standalone and npm CLI launches on macOS 15 by bundling every Swift back-deployment compatibility library required by the release binary and rejecting dangling compatibility dependencies during release verification. Thanks \u003ca href=\"https://github.com/gyfis\"\u003e\u003ccode\u003e@​gyfis\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/291\"\u003e#291\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCanceling during a ScreenCaptureKit transient-denial retry sleep now stops before a second capture attempt or permission probe. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/289\"\u003e#289\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePrevent dialog discovery and element traversal from recursing indefinitely when an app reports cyclic accessibility relationships.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVerification\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe extracted universal tarball built and launched on macOS 15.7.7 in \u003ca href=\"https://github.com/openclaw/Peekaboo/actions/runs/29895951038\"\u003eActions run 29895951038\u003c/a\u003e, resolving the bundled Swift compatibility runtime.\u003c/li\u003e\n\u003cli\u003eThe standalone CLI, app zip, and DMG were signed with \u003ccode\u003eDeveloper ID Application: OpenClaw Foundation (FWJYW4S8P8)\u003c/code\u003e and notarized; the app and DMG were stapled and verified.\u003c/li\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.9.7\"\u003e@​steipete/peekaboo@3.9.7\u003c/a\u003e, \u003ccode\u003elatest\u003c/code\u003e, tarball \u003ccode\u003ehttps://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.9.7.tgz\u003c/code\u003e, integrity \u003ccode\u003esha512-EnX+5JBrBYluKzgHcADb1blGkXREga1T4BAPyCVS4lDIK6JX21j5Lyk1W6TaTx5BXmTAQ/UhEYRX073097bxLQ==\u003c/code\u003e, published 2026-07-22T07:04:56.807Z.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/2f33de3bb572caa7c9a4b3c50834585e15dce537\"\u003e\u003ccode\u003e2f33de3\u003c/code\u003e\u003c/a\u003e test(dock): cover bounded process waits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/388b2d6cbaa85fc24307f2d097587d5aeb3e3e80\"\u003e\u003ccode\u003e388b2d6\u003c/code\u003e\u003c/a\u003e fix(dock): make process wait helper Sendable and call as static\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/96fc9b9706b9205b7b3363e52bc3d2f027a54b37\"\u003e\u003ccode\u003e96fc9b9\u003c/code\u003e\u003c/a\u003e fix(dock): bound Process waits so wedged dock helpers cannot hang\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/9e1cb72f058da85b754f5dea329710829ac649a9\"\u003e\u003ccode\u003e9e1cb72\u003c/code\u003e\u003c/a\u003e build(deps): pin Tachikoma 0.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/d00aa2908ef10813cd9515ec0b8f2bf2f7527c59\"\u003e\u003ccode\u003ed00aa29\u003c/code\u003e\u003c/a\u003e style: format status bar controller\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/096b7aef16e13e88ee8ada3e77d540e92cedfbb2\"\u003e\u003ccode\u003e096b7ae\u003c/code\u003e\u003c/a\u003e style: format status bar test expectation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/cdf15aae18e5ef6c99399a158233e2031940d4a4\"\u003e\u003ccode\u003ecdf15aa\u003c/code\u003e\u003c/a\u003e chore(release): read codesign keychain locator from Molty service account\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/42142f6dda7ba8d67e9873faa96bcf4884c73d63\"\u003e\u003ccode\u003e42142f6\u003c/code\u003e\u003c/a\u003e feat(mac): restructure status bar menu with status line and native anchoring ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/431f0a5d33ede81bbd2c6a2df8396334acf6d9d6\"\u003e\u003ccode\u003e431f0a5\u003c/code\u003e\u003c/a\u003e style: apply swiftformat 0.62.1 output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/c1487c8d67833a8d3034671d1b2cb1a0b97c2857\"\u003e\u003ccode\u003ec1487c8\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.9.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.9.6...v3.9.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pointfreeco/swift-concurrency-extras` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/releases\"\u003egithub.com/pointfreeco/swift-concurrency-extras's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Align .taskLocal trait to match proposal. \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/74\"\u003epointfreeco/swift-concurrency-extras#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Enable upcoming features \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/66\"\u003epointfreeco/swift-concurrency-extras#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInfrastructure: Add docs badge to readme \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/73\"\u003epointfreeco/swift-concurrency-extras#73\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ehttps://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5fa253428866f2360c3754e88537f700ed2656b5\"\u003e\u003ccode\u003e5fa2534\u003c/code\u003e\u003c/a\u003e Run swift-format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/a0ce76ac7a4632a8dad75b2d87958587c56921c5\"\u003e\u003ccode\u003ea0ce76a\u003c/code\u003e\u003c/a\u003e Align .taskLocal trait to match proposal. (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/74\"\u003e#74\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/d77f692b459322fbec763c9e6e637233e8b972ef\"\u003e\u003ccode\u003ed77f692\u003c/code\u003e\u003c/a\u003e Add docs badge to readme (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/73\"\u003e#73\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/222b539117e97856d1570dade68486ff9d0ae6cd\"\u003e\u003ccode\u003e222b539\u003c/code\u003e\u003c/a\u003e Remove warning treatment for Swift 6.4 and above\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/55e06b34fcfa4471d0aac13f1406ac4405916e5e\"\u003e\u003ccode\u003e55e06b3\u003c/code\u003e\u003c/a\u003e Enable upcoming features (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.4.0...1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Ben-Jianming/openclaw-pqc/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ben-Jianming%2Fopenclaw-pqc/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"2.9.3","new_version":"2.9.4","update_type":"patch","path":"/apps/macos","pr_created_at":"2026-07-06T22:46:52.000Z","version_change":"2.9.3 → 2.9.4","issue":{"uuid":"4823660870","node_id":"PR_kwDOTJhe987uky70","number":17,"state":"open","title":"build(deps): bump the swift-deps group in /apps/macos with 4 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":11,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-06T22:46:52.000Z","updated_at":"2026-07-20T21:46:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":4,"packages":[{"name":"github.com/apple/swift-log","old_version":"1.13.2","new_version":"1.14.0","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.3","new_version":"2.9.4","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.5.2","new_version":"3.6.0","repository_url":"https://github.com/steipete/Peekaboo"},{"name":"github.com/pointfreeco/swift-concurrency-extras","old_version":"1.3.2","new_version":"1.4.0","repository_url":"https://github.com/pointfreeco/swift-concurrency-extras"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 4 updates: [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle), [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo) and [github.com/pointfreeco/swift-concurrency-extras](https://github.com/pointfreeco/swift-concurrency-extras).\n\nUpdates `github.com/apple/swift-log` from 1.13.2 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[SLG-0006]: task-local logger implementation by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/459\"\u003eapple/swift-log#459\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[SLG-0006]: task-local logger proposal by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/460\"\u003eapple/swift-log#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 6 to 7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/472\"\u003eapple/swift-log#472\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.13.2...1.14.0\"\u003ehttps://github.com/apple/swift-log/compare/1.13.2...1.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/a878e7f8f46cfc0e1125e565b5c08e7d5272dc9a\"\u003e\u003ccode\u003ea878e7f\u003c/code\u003e\u003c/a\u003e [SLG-0006]: task-local logger implementation (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/459\"\u003e#459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/2c52ee25d21aee7f204b6aa76f8771447c378202\"\u003e\u003ccode\u003e2c52ee2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6 to 7 (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/ca6118469893201380f29a4d67feb68bcb44fa25\"\u003e\u003ccode\u003eca61184\u003c/code\u003e\u003c/a\u003e [SLG-0006]: task-local logger proposal (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/460\"\u003e#460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apple/swift-log/compare/1.13.2...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.3 to 2.9.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.4 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains an activation fix for backgrounded / dockless applications using Sparkle's standard user interface.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/b6496a74a087257ef5e6da1c5b29a447a60f5bd7\"\u003e\u003ccode\u003eb6496a7\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/4ba9745eca7186b85c466663e627637cee8f2b1d\"\u003e\u003ccode\u003e4ba9745\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/1ec540d5378e6e882a8341c47e682dba0012ee1d\"\u003e\u003ccode\u003e1ec540d\u003c/code\u003e\u003c/a\u003e Use activateIgnoringOtherApps: again for backgrounded apps (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.3...2.9.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.5.2 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePeekaboo 3.6.0\u003c/h2\u003e\n\u003ch2\u003e[3.6.0] - 2026-07-04\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eVisualizer animations were redesigned around a single \u0026quot;Ghost HUD\u0026quot; design language: one violet accent with red reserved for destructive operations, dark translucent HUD chips, and a shared motion vocabulary. Clicks show a targeting reticle with impact pulses (dashed ring for right-click), typing streams the actual keystrokes into a caption pill instead of a fake QWERTY keyboard, hotkeys press real macOS-style keycaps in sequence, mouse moves and drags trace a glowing comet with press/release rings, scrolls show flowing chevrons with a count tag, screenshots snap viewfinder brackets, and app lifecycle, window operations, menu paths, dialogs, and Space switches render as matching HUD toasts, outlines, and breadcrumbs.\u003c/li\u003e\n\u003cli\u003eAgent-skill documentation now defines Peekaboo as the authority for product and workflow guidance while allowing distributors such as OpenClaw to ship release-pinned snapshots with host-specific overlays.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBridge hosts now always return a non-empty decodable error when error encoding fails, instead of surfacing EOF or a secondary decode failure. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/211\"\u003e#211\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSnapshot listing and cleanup now propagate lock-open failures instead of treating unavailable storage as an empty snapshot list. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/212\"\u003e#212\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eVisual feedback now uses one explicit Core Graphics/Accessibility-to-AppKit coordinate boundary, fixing mirrored or offset click, scroll, trail, swipe, window, dialog, capture, annotated-screenshot, and element-detection overlays across primary and vertically arranged displays without applying Retina scale twice; refreshed element detections also retire stale sheets on screens with no new elements.\u003c/li\u003e\n\u003cli\u003eThe Sessions window no longer opens uninvited: it is suppressed at app launch, excluded from state restoration, no longer pops up when the running app is reopened programmatically, and the missing-API-key nudge shows it once instead of on every launch. Open it via the status-bar menu or ⌘⇧P as before.\u003c/li\u003e\n\u003cli\u003eAutomation services now route visual feedback to the visualizer by default; the wiring was never hooked up, so click, type, scroll, hotkey, swipe, mouse-move, window, menu, dialog, dock, Space-switch, and screenshot-flash animations were silently dropped even with Peekaboo.app running.\u003c/li\u003e\n\u003cli\u003eThe typing caption shows the typed text verbatim (that is its job); typing into secure text fields is masked as bullets before the event is persisted or displayed by sampling the delivery focus immediately before every text segment (including Tab-to-password sequences and background typing), and \u003ccode\u003ePEEKABOO_VISUALIZER_MASK_TYPED_TEXT=true\u003c/code\u003e masks everything for privacy-sensitive setups.\u003c/li\u003e\n\u003cli\u003eHUD chip shadows and glows no longer clip into hard edges: every overlay window gets a chrome margin so gradients fade out naturally instead of getting cut off at the window border.\u003c/li\u003e\n\u003cli\u003eRapid agent action streams no longer flood the screen: screenshot flashes, scroll chips, mouse comets, and element sheets are throttled, short cursor hops skip the comet, and single-instance overlays (typing caption, hotkey chip, menu breadcrumb, Space indicator, app toast, element sheets) crossfade into their replacement instead of stacking.\u003c/li\u003e\n\u003cli\u003eElement-detection sheets drop window-sized container rects, cap at 120 highlights per screen, and render in one overlay window per screen instead of one window per element.\u003c/li\u003e\n\u003cli\u003eDebug Mac app builds are now signed with a development identity when one is available, so Screen Recording/Accessibility grants survive rebuilds instead of resetting (and re-prompting) on every build; machines without a certificate keep the unsigned fallback.\u003c/li\u003e\n\u003cli\u003eVisualizer overlays now center on their target instead of pinning to the window's top-leading corner, which had offset click feedback by its padding and clipped or truncated HUD widgets.\u003c/li\u003e\n\u003cli\u003eMouse-trail and swipe visualizations now convert screen coordinates into window-local space with the correct Y-flip, so the paths render along the cursor's actual travel instead of drawing outside the overlay window.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe visualizer keyboard-theme setting (\u003ccode\u003evisualizerKeyboardTheme\u003c/code\u003e, config \u003ccode\u003evisualizer.keyboardTheme\u003c/code\u003e) is gone; it only themed the removed QWERTY typing widget and never affected anything else.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eVerification\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSource: lightweight \u003ccode\u003ev3.6.0\u003c/code\u003e tag at \u003ccode\u003e521703e21c6ce0337f2b407dceb228c6233fa698\u003c/code\u003e; product head \u003ccode\u003eb733ca14d241d65172db6d9f75d0f43b1bb3674b\u003c/code\u003e passed \u003ca href=\"https://github.com/openclaw/Peekaboo/actions/runs/28694277079\"\u003eexact-head CI\u003c/a\u003e across Core, CLI, Tachikoma, SwiftLint, and macOS app jobs. The tag adds only the validated appcast entry.\u003c/li\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.6.0\"\u003e\u003ccode\u003e@steipete/peekaboo@3.6.0\u003c/code\u003e\u003c/a\u003e, published 2026-07-04T04:30:50.911Z with \u003ccode\u003elatest=3.6.0\u003c/code\u003e; \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.6.0.tgz\"\u003eregistry tarball\u003c/a\u003e; integrity \u003ccode\u003esha512-Guyvpct6BaAs8NKDc2zI0hFFwOPuOScRqYISo5wxE112sDLVIs8BjPPlE2hj7UCjX2DsAZEVKiM22m7O+Y73tA==\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo-macos-universal.tar.gz\u003c/code\u003e: 20,215,045 bytes; SHA-256 \u003ccode\u003ec548874c433740fac2c15fb3a8d350802db4c3a2fdb1a80393a365f082baeeaa\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esteipete-peekaboo-3.6.0.tgz\u003c/code\u003e: 20,221,534 bytes; SHA-256 \u003ccode\u003e8f77f0bf8989d86126e892251f3b3737ec11a42771a2ea8c8419bebb221c4f18\u003c/code\u003e; registry tarball byte-identical.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ePeekaboo-3.6.0.app.zip\u003c/code\u003e: 14,827,187 bytes; SHA-256 \u003ccode\u003e34bb7d12b884b2bf8bd2260c34a3c68f76c48ec04491dd7f77ba184614517b62\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCLI and npm binaries contain both \u003ccode\u003earm64\u003c/code\u003e and \u003ccode\u003ex86_64\u003c/code\u003e slices, report \u003ccode\u003ePeekaboo 3.6.0 (main/b733ca14)\u003c/code\u003e, and are Developer ID signed.\u003c/li\u003e\n\u003cli\u003eApp: Developer ID signed, Apple-notarized (\u003ccode\u003e53297dea-db07-4261-8108-debcd3193071\u003c/code\u003e), stapled, accepted by Gatekeeper, and verified with Sparkle signature \u003ccode\u003e5QgJcsbsZdEbgTiwUbwAvNjcba1FvI6V+xSyvTXM2xUINPaXVK1aWgR6V8wuNqKbht2ot6TTNkogvY+qul2CAA==\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.5.4\u003c/h2\u003e\n\u003ch2\u003e[3.5.4] - 2026-07-03\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMiniMax-M3 can now power screenshot analysis and agent runs through the global and China MiniMax routes. Thanks \u003ca href=\"https://github.com/Tugser\"\u003e\u003ccode\u003e@​Tugser\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/191\"\u003e#191\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eKimi K2.6 and K2.7 Code can now power screenshot analysis and agent runs through Moonshot's API. Thanks \u003ca href=\"https://github.com/Tugser\"\u003e\u003ccode\u003e@​Tugser\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/192\"\u003e#192\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCLI paste now completes and reports clipboard restoration before returning, warning without inviting a retry when delivery succeeded but restoration failed.\u003c/li\u003e\n\u003cli\u003eMCP paste now warns without suggesting a retry when clipboard restoration fails after delivery. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/210\"\u003e#210\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eMCP inline image capture now returns an explicit error when neither capture nor saved-file fallback contains image data, instead of reporting a successful zero-byte PNG. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/209\"\u003e#209\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSpeech recording now cancels and releases its recorder observer on stop and send, including after recorder errors. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/204\"\u003e#204\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eGo-to-Folder navigation now stops before typing or submitting when a required synthetic hotkey fails. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/206\"\u003e#206\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eDaemon launch, socket, and shutdown polling now stop promptly when their parent task is cancelled instead of spinning until the timeout. Thanks \u003ca href=\"https://github.com/SebTardif\"\u003e\u003ccode\u003e@​SebTardif\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/203\"\u003e#203\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePublic CLI, agent, MCP, and API guidance now treats runtime element IDs as opaque strings to copy exactly instead of implying role-specific ID shapes. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/194\"\u003e#194\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSparkle update checks no longer received a 3.5.3 enclosure before its release assets were public; the validated feed entry was restored after publication. Thanks \u003ca href=\"https://github.com/bcharleson\"\u003e\u003ccode\u003e@​bcharleson\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/199\"\u003e#199\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eJSON-only \u003ccode\u003epeekaboo see\u003c/code\u003e runs without \u003ccode\u003e--path\u003c/code\u003e now keep required screenshots in snapshot storage instead of leaving files on Desktop or exposing their temporary paths. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/196\"\u003e#196\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/521703e21c6ce0337f2b407dceb228c6233fa698\"\u003e\u003ccode\u003e521703e\u003c/code\u003e\u003c/a\u003e docs: update appcast for 3.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/b733ca14d241d65172db6d9f75d0f43b1bb3674b\"\u003e\u003ccode\u003eb733ca1\u003c/code\u003e\u003c/a\u003e fix(release): prefer managed signing identity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/12a37ee9d6113423d1aa0288e076e30eb8ecf98d\"\u003e\u003ccode\u003e12a37ee\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/210a2f878a323f2925ef5c82369694d32031fab9\"\u003e\u003ccode\u003e210a2f8\u003c/code\u003e\u003c/a\u003e Fix visualizer coordinate and secure typing regressions (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/214\"\u003e#214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/6b5a0061772396216beca6f971aa52257c09274b\"\u003e\u003ccode\u003e6b5a006\u003c/code\u003e\u003c/a\u003e Visualizer polish: unclipped chrome, verbatim typing captions, overlay coales...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/77cc2f644a78270e536725dfedd23bfebeaf51d3\"\u003e\u003ccode\u003e77cc2f6\u003c/code\u003e\u003c/a\u003e fix(scripts): stop committer from force-adding gitignored files under directo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/3cf0088deb42fe66893bf2f100960dcf62457698\"\u003e\u003ccode\u003e3cf0088\u003c/code\u003e\u003c/a\u003e docs(changelog): keep 3.6.0 unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/eea7cc2d1e5fa19be19499d7c5978cf942044dba\"\u003e\u003ccode\u003eeea7cc2\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/e8d97b4703c9298527cd2199c7e4dcacca23b099\"\u003e\u003ccode\u003ee8d97b4\u003c/code\u003e\u003c/a\u003e style: format daemon cancellation proof\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/9e1867d5d18a87e45a30bf87a50d3455007ae1b2\"\u003e\u003ccode\u003e9e1867d\u003c/code\u003e\u003c/a\u003e docs: define agent skill distribution ownership\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.5.2...v3.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/pointfreeco/swift-concurrency-extras` from 1.3.2 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/releases\"\u003egithub.com/pointfreeco/swift-concurrency-extras's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: A new \u003ccode\u003eConcurrencyExtrasTestSupport\u003c/code\u003e module with \u003ccode\u003eTaskLocalTrait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/65\"\u003epointfreeco/swift-concurrency-extras#65\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed: \u003ccode\u003eResult.init(catching:)\u003c/code\u003e is now \u003ccode\u003enonisolated(nonsending)\u003c/code\u003e (thanks \u003ca href=\"https://github.com/rhysm94\"\u003e\u003ccode\u003e@​rhysm94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/61\"\u003epointfreeco/swift-concurrency-extras#61\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed: Enable \u003ccode\u003eNonisolatedNonsendingByDefault\u003c/code\u003e (thanks \u003ca href=\"https://github.com/davdroman\"\u003e\u003ccode\u003e@​davdroman\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/64\"\u003epointfreeco/swift-concurrency-extras#64\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eInfrastructure: Simplify Android CI (thanks \u003ca href=\"https://github.com/marcprux\"\u003e\u003ccode\u003e@​marcprux\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/53\"\u003epointfreeco/swift-concurrency-extras#53\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eInfrastructure: Bump package versioning requirements (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/58\"\u003epointfreeco/swift-concurrency-extras#58\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eInfrastructure: Update format.yml (thanks \u003ca href=\"https://github.com/rhysm94\"\u003e\u003ccode\u003e@​rhysm94\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/62\"\u003epointfreeco/swift-concurrency-extras#62\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eInfrastructure: Bump CI (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/63\"\u003epointfreeco/swift-concurrency-extras#63\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marcprux\"\u003e\u003ccode\u003e@​marcprux\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/53\"\u003epointfreeco/swift-concurrency-extras#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rhysm94\"\u003e\u003ccode\u003e@​rhysm94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/61\"\u003epointfreeco/swift-concurrency-extras#61\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/davdroman\"\u003e\u003ccode\u003e@​davdroman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/pull/64\"\u003epointfreeco/swift-concurrency-extras#64\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.3.2...1.4.0\"\u003ehttps://github.com/pointfreeco/swift-concurrency-extras/compare/1.3.2...1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/a90e2e40a7a840a853dd29e57cbef5dbb72c9d5b\"\u003e\u003ccode\u003ea90e2e4\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eConcurrencyExtrasTestSupport\u003c/code\u003e with \u003ccode\u003eTaskLocalTrait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/65\"\u003e#65\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5766c2e1f581fc9702a881ec3ff08371d88e637c\"\u003e\u003ccode\u003e5766c2e\u003c/code\u003e\u003c/a\u003e Cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5d81c23fdb9715201c4015a1973ea7ab6bc06b37\"\u003e\u003ccode\u003e5d81c23\u003c/code\u003e\u003c/a\u003e Enable \u003ccode\u003eNonisolatedNonsendingByDefault\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/f9db8422fa13f554987eba71887f9652c4a46b9b\"\u003e\u003ccode\u003ef9db842\u003c/code\u003e\u003c/a\u003e Remove documentation workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/f7b9b8c62ed2533bf8ad1665ccd9e7a682c54d8f\"\u003e\u003ccode\u003ef7b9b8c\u003c/code\u003e\u003c/a\u003e Bump CI (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/63\"\u003e#63\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/e516f471ebfac46b04c22af03dcfcc25f48af760\"\u003e\u003ccode\u003ee516f47\u003c/code\u003e\u003c/a\u003e Run swift-format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/cb9c6e00c5c9691d905c4c460913e82ee45ac39e\"\u003e\u003ccode\u003ecb9c6e0\u003c/code\u003e\u003c/a\u003e Update format.yml (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/62\"\u003e#62\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/45bfc4e93340888206b247005a8224ab2e10b6e9\"\u003e\u003ccode\u003e45bfc4e\u003c/code\u003e\u003c/a\u003e Run swift-format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/5fe9f3bdc0ade508cfbee611119ec87cc1c414f2\"\u003e\u003ccode\u003e5fe9f3b\u003c/code\u003e\u003c/a\u003e \u003ccode\u003enonisolated(nonsending)\u003c/code\u003e Result \u003ccode\u003einit\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/61\"\u003e#61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/commit/d74eaaa106e66184655982433b10a2f2dffbe2ac\"\u003e\u003ccode\u003ed74eaaa\u003c/code\u003e\u003c/a\u003e Update package versioning (\u003ca href=\"https://redirect.github.com/pointfreeco/swift-concurrency-extras/issues/58\"\u003e#58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pointfreeco/swift-concurrency-extras/compare/1.3.2...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Artyomkun/openclaw/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artyomkun%2Fopenclaw/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}},{"old_version":"2.9.3","new_version":"2.9.4","update_type":"patch","path":null,"pr_created_at":"2026-07-03T06:06:53.000Z","version_change":"2.9.3 → 2.9.4","issue":{"uuid":"4800820086","node_id":"PR_kwDORyi9jc7tcuKS","number":117,"state":"closed","title":"chore(deps): bump github.com/sparkle-project/sparkle from 2.9.3 to 2.9.4","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-13T19:22:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-03T06:06:53.000Z","updated_at":"2026-07-13T19:22:50.000Z","time_to_close":911755,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.3","new_version":"2.9.4","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.3 to 2.9.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.4 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix backgrounded apps sometimes not bringing windows from user initiated actions in active focus (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e) (Zorg, wojciech-kulik)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains an activation fix for backgrounded / dockless applications using Sparkle's standard user interface.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.3\"\u003e2.9.3\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/b6496a74a087257ef5e6da1c5b29a447a60f5bd7\"\u003e\u003ccode\u003eb6496a7\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/4ba9745eca7186b85c466663e627637cee8f2b1d\"\u003e\u003ccode\u003e4ba9745\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/1ec540d5378e6e882a8341c47e682dba0012ee1d\"\u003e\u003ccode\u003e1ec540d\u003c/code\u003e\u003c/a\u003e Use activateIgnoringOtherApps: again for backgrounded apps (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2890\"\u003e#2890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.3...2.9.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.3\u0026new-version=2.9.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/fmasi/parley/pull/117","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmasi%2Fparley/issues/117","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/117/packages"}},{"old_version":"2.9.1","new_version":"2.9.2","update_type":"patch","path":null,"pr_created_at":"2026-06-08T22:22:31.000Z","version_change":"2.9.1 → 2.9.2","issue":{"uuid":"4617057933","node_id":"PR_kwDOSyO_GM7kHpWk","number":9,"state":"closed","title":"build(deps): Bump the swift-deps group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-09T00:29:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T22:22:31.000Z","updated_at":"2026-06-09T01:32:30.000Z","time_to_close":7592,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/apple/swift-log","old_version":"1.12.0","new_version":"1.13.1","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.1","new_version":"2.9.2","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.2.1","new_version":"3.4.0","repository_url":"https://github.com/steipete/Peekaboo"}],"path":null,"ecosystem":"swift"},"body":"Bumps the swift-deps group with 3 updates in the /apps/macos directory: [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo).\n\nUpdates `github.com/apple/swift-log` from 1.12.0 to 1.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.13.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMatch \u003ccode\u003eDefaultStringInterpolation\u003c/code\u003e \u003ccode\u003eappendInterpolation \u003c/code\u003e overloads by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/469\"\u003eapple/swift-log#469\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.13.0...1.13.1\"\u003ehttps://github.com/apple/swift-log/compare/1.13.0...1.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.13.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes implementation by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/453\"\u003eapple/swift-log#453\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a source-breaking change of \u003ccode\u003eMetadataValue\u003c/code\u003e compatibility with custom string interpolations. Please see \u003ca href=\"https://redirect.github.com/apple/swift-log/issues/467\"\u003eapple/swift-log#467\u003c/a\u003e for details.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.1...1.13.0\"\u003ehttps://github.com/apple/swift-log/compare/1.12.1...1.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.12.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove readability by extracting separate types to their own files by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/444\"\u003eapple/swift-log#444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/465\"\u003eapple/swift-log#465\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate documentation to reflect recent changes by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/445\"\u003eapple/swift-log#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependabot to daily schedule by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/446\"\u003eapple/swift-log#446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to 0.0.11 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/447\"\u003eapple/swift-log#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake dependabot set  label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/448\"\u003eapple/swift-log#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for SwiftLogNoOpLogHandler by \u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup repository structure by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/451\"\u003eapple/swift-log#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable nightly 6.3 WASM builds by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/454\"\u003eapple/swift-log#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes proposal (revision 2) by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/440\"\u003eapple/swift-log#440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate macOS CI to Swift version inputs by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/457\"\u003eapple/swift-log#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShared workflows changed from Xcode XX.X to Xcode swift X.X by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/461\"\u003eapple/swift-log#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-package macOS benchmarks workflow by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/466\"\u003eapple/swift-log#466\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.12.1\"\u003ehttps://github.com/apple/swift-log/compare/1.12.0...1.12.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/2aed77ae5ec9a86d8fe42c12275e4c2653a286ee\"\u003e\u003ccode\u003e2aed77a\u003c/code\u003e\u003c/a\u003e Match \u003ccode\u003eDefaultStringInterpolation\u003c/code\u003e \u003ccode\u003eappendInterpolation \u003c/code\u003e overloads (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/7dc6101ae4dbe95cd3bc9cebad3b7cf8e49a7a63\"\u003e\u003ccode\u003e7dc6101\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes implementation (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/a012e0ad8a8a72de92b0e008c81a9b793f70e73a\"\u003e\u003ccode\u003ea012e0a\u003c/code\u003e\u003c/a\u003e Adopt multi-package macOS benchmarks workflow (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1069d31898fad2304edbdb9ddf30ddd6b3bcfb96\"\u003e\u003ccode\u003e1069d31\u003c/code\u003e\u003c/a\u003e Skip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3061a62b6d0cfed7c11b5b019fd81443a0beb172\"\u003e\u003ccode\u003e3061a62\u003c/code\u003e\u003c/a\u003e Shared workflows changed from Xcode XX.X to Xcode swift X.X (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/461\"\u003e#461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/184c73762fc180b3138e5320adae67ee738b5625\"\u003e\u003ccode\u003e184c737\u003c/code\u003e\u003c/a\u003e Migrate macOS CI to Swift version inputs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/457\"\u003e#457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/eca81998f52d757e22b3bfbff650025091453bc0\"\u003e\u003ccode\u003eeca8199\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes proposal (revision 2) (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/ac3646e5e0cc783fdb39a70971fac1e37b19202b\"\u003e\u003ccode\u003eac3646e\u003c/code\u003e\u003c/a\u003e Disable nightly 6.3 WASM builds (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/454\"\u003e#454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/5c348a629ce8f04e7dbbd2b27d6ef330fa15cd7b\"\u003e\u003ccode\u003e5c348a6\u003c/code\u003e\u003c/a\u003e Cleanup repository structure (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/451\"\u003e#451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/deae26e91aae13fdf879679e8b37bfaf0427d317\"\u003e\u003ccode\u003edeae26e\u003c/code\u003e\u003c/a\u003e Add tests for SwiftLogNoOpLogHandler (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.1 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0\"\u003e\u003ccode\u003efe7b718\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d2b796bc3e96c3e60267c8e1a3176db11b07c488\"\u003e\u003ccode\u003ed2b796b\u003c/code\u003e\u003c/a\u003e Update you're up to date Spanish translation to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/2f33f56afb966ea7fb65f44b077447c27065dd45\"\u003e\u003ccode\u003e2f33f56\u003c/code\u003e\u003c/a\u003e Fix QoS warning when running Test app server on main thread (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.1...2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.2.1 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003ch2\u003e[3.4.0] - 2026-06-07\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMCP now exposes the bounded \u003ccode\u003ecapture\u003c/code\u003e tool for live/video frame capture, contact sheets, metadata, and optional MP4 output. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/169\"\u003e#169\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded dedicated CLI wrappers for MCP-only browser/page and accessibility-tree inspection via \u003ccode\u003epeekaboo browser\u003c/code\u003e and \u003ccode\u003epeekaboo inspect-ui\u003c/code\u003e. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/173\"\u003e#173\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003epeekaboo capture action\u003c/code\u003e, which records adaptive live capture around a child command with pre-roll, post-roll, timeout, artifact validation, and optional MP4 output. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/171\"\u003e#171\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocumented background vs. foreground input delivery across the README, automation guide, quickstart, permissions, and interaction command docs.\u003c/li\u003e\n\u003cli\u003eClarified that \u003ccode\u003epeekaboo tools\u003c/code\u003e lists the MCP/agent tool catalog rather than top-level CLI commands. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/174\"\u003e#174\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAction-only scroll now reports an empty target as unsupported, and generic process scripts preserve menu, modifier, drag, and type flag aliases. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/178\"\u003e#178\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/179\"\u003e#179\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eClipboard writes now count companion text toward the large-payload guard and return previews for UTF-8 plain-text representations. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/180\"\u003e#180\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBridge-backed CLI JSON errors now preserve bridge message/details and map permission failures to permission-specific error codes. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/181\"\u003e#181\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRelease Proof\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enpm package: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.4.0\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.4.0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enpm tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.4.0.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.4.0.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enpm integrity: sha512-JGO1qgoQGNBWqEXkgRSfBhj7ve5Rx02Bul4woqotNErRFqkZzLF5mDrbD/12L0YeG33wWiBNeWNGV/8M92b/Sw==\u003c/li\u003e\n\u003cli\u003enpm published: 2026-06-07T07:18:40.455Z\u003c/li\u003e\n\u003cli\u003eCI: \u003ca href=\"https://github.com/openclaw/Peekaboo/actions/runs/27085904190\"\u003ehttps://github.com/openclaw/Peekaboo/actions/runs/27085904190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLocal proof: SwiftLint passed, warning scan clean, 485 safe tests passed, universal CLI signed with Developer ID, notarization accepted for submission 4f1127e0-f849-4893-822d-57e165dcb79d, app zip stapled and assessed, release artifact checksums verified.\u003c/li\u003e\n\u003cli\u003eAsset SHA-256: Peekaboo-3.4.0.app.zip 66d1aadf9ffaaa4bdc9dc7577177b97fb6e8c25467f258db8f1b09fe09702ed3\u003c/li\u003e\n\u003cli\u003eAsset SHA-256: peekaboo-macos-universal.tar.gz fbfa42f2db3c239ca51fe0f742802637891d2b222efa681e6ab9ec96880fca5e\u003c/li\u003e\n\u003cli\u003eAsset SHA-256: steipete-peekaboo-3.4.0.tgz d514d6728bc8062e1da7f0ad91a59604a38d1b2d80e5804d6b54435d3ce56889\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003e[3.3.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now supports MiniMax China via \u003ccode\u003eminimax-cn/...\u003c/code\u003e models and \u003ccode\u003eMINIMAX_CN_API_KEY\u003c/code\u003e, while preserving the existing international MiniMax endpoint. Thanks \u003ca href=\"https://github.com/LLuke\"\u003e\u003ccode\u003e@​LLuke\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/161\"\u003e#161\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo click\u003c/code\u003e, \u003ccode\u003etype\u003c/code\u003e, \u003ccode\u003ehotkey\u003c/code\u003e, \u003ccode\u003epress\u003c/code\u003e, and \u003ccode\u003epaste\u003c/code\u003e now use background process-targeted delivery by default when a target PID/app/window/snapshot process can be resolved, with \u003ccode\u003e--foreground\u003c/code\u003e for focused foreground input.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackground text input now prefers AX text editing for typing, paste, clear, and focused-field key presses so targeted apps stay in the background more reliably.\u003c/li\u003e\n\u003cli\u003eBackground text paste no longer snapshots or restores the user clipboard, positional \u003ccode\u003epeekaboo paste \u0026quot;text\u0026quot;\u003c/code\u003e works again, and background \u003ccode\u003ecmd+a\u003c/code\u003e selects focused text fields via AX.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo open --app Finder ...\u003c/code\u003e now resolves Finder from CoreServices, matching the documented examples.\u003c/li\u003e\n\u003cli\u003eVisualizer settings and capture-engine docs now reference \u003ccode\u003epeekaboo capture live\u003c/code\u003e instead of stale top-level \u003ccode\u003epeekaboo watch\u003c/code\u003e/\u003ccode\u003epeekaboo capture\u003c/code\u003e command forms. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/166\"\u003e#166\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/167\"\u003e#167\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVerification\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.3.0\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.3.0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegistry tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.3.0.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.3.0.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrity: sha512-5VfZ/Xr4KG1Hh4AC1kcQof7SdiNJK0jgSqElW4HErkj9e2hPNft59mJYpZDZnBRQ7JRX3ZJz3vwpx7A8R5+sAA==\u003c/li\u003e\n\u003cli\u003ePublished: 2026-05-31T23:41:15.713Z\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/3a56ed2aa769bfefb5a78722dfce3c34088cfba1\"\u003e\u003ccode\u003e3a56ed2\u003c/code\u003e\u003c/a\u003e chore(release): update appcast for 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/613f0435a8ba0d4200f7e10b734e1cc1f0a652c1\"\u003e\u003ccode\u003e613f043\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/7e610180194eb009083d3763e1f438547f1bb4e9\"\u003e\u003ccode\u003e7e61018\u003c/code\u003e\u003c/a\u003e feat(cli): expose MCP wrappers and capture action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/3608d9c782f61ae2ff1432315cfa80310c48bf8f\"\u003e\u003ccode\u003e3608d9c\u003c/code\u003e\u003c/a\u003e feat(mcp): expose capture tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/87d4721e29716fa65c5e43da3a4d75c479a25808\"\u003e\u003ccode\u003e87d4721\u003c/code\u003e\u003c/a\u003e test(cli): cover default background interactions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/1665ca80612ac0f3b9ffc544a6436336d94aa2bf\"\u003e\u003ccode\u003e1665ca8\u003c/code\u003e\u003c/a\u003e docs: update changelog for bridge error fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/01fcfba8777bde81698de8ac6b0eaa29cb611788\"\u003e\u003ccode\u003e01fcfba\u003c/code\u003e\u003c/a\u003e fix(cli): map bridge permission errors (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/181\"\u003e#181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/0ce0895cb8d1e03756dd023b59e79cf5521f1970\"\u003e\u003ccode\u003e0ce0895\u003c/code\u003e\u003c/a\u003e docs: update changelog for clipboard fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/01d10db9b07ae81af57a88e6697f8087ec7f3ba7\"\u003e\u003ccode\u003e01d10db\u003c/code\u003e\u003c/a\u003e fix(clipboard): validate alternate text payloads (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/180\"\u003e#180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/6d29dae6cbb7af96ce10f66be50990d3619cf3af\"\u003e\u003ccode\u003e6d29dae\u003c/code\u003e\u003c/a\u003e docs: update changelog for tools help clarification\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.2.1...v3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/bryanunitek/UniCORE.OpenClaw/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanunitek%2FUniCORE.OpenClaw/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"2.9.1","new_version":"2.9.3","update_type":"patch","path":null,"pr_created_at":"2026-06-08T10:45:13.000Z","version_change":"2.9.1 → 2.9.3","issue":{"uuid":"4612191377","node_id":"PR_kwDOSjXqqM7j3adS","number":4,"state":"open","title":"Bump github.com/sparkle-project/sparkle from 2.9.1 to 2.9.3","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T10:45:13.000Z","updated_at":"2026-06-08T10:45:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.1","new_version":"2.9.3","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":null,"ecosystem":"swift"},"body":"Bumps [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) from 2.9.1 to 2.9.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.3 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix updating not working the first time if the app's bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a very specific installation fix for apps that use a bundle identifier ending with .app\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.2\"\u003e2.9.2\u003c/a\u003e, \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e, and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d46d456107feacc80711b21847b82b07bd9fb46e\"\u003e\u003ccode\u003ed46d456\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/00e7c24b6ad344992166ac023b71075cc524e36b\"\u003e\u003ccode\u003e00e7c24\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 2.9.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/e6a344a570bcf1e988a294c85c9645f83f294dce\"\u003e\u003ccode\u003ee6a344a\u003c/code\u003e\u003c/a\u003e Fix updating not working the first time if bundle ID ends with \u0026quot;.app\u0026quot; (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2882\"\u003e#2882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.1...2.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/sparkle-project/sparkle\u0026package-manager=swift\u0026previous-version=2.9.1\u0026new-version=2.9.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/theagenzzy/Markzzy-App/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/theagenzzy%2FMarkzzy-App/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"2.9.1","new_version":"2.9.2","update_type":"patch","path":"/apps/macos","pr_created_at":"2026-06-03T04:52:34.000Z","version_change":"2.9.1 → 2.9.2","issue":{"uuid":"4576976630","node_id":"PR_kwDOSRYmZs7iEiiT","number":124,"state":"closed","title":"build(deps): bump the swift-deps group in /apps/macos with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-03T11:13:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T04:52:34.000Z","updated_at":"2026-06-03T11:13:10.000Z","time_to_close":22833,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/apple/swift-log","old_version":"1.12.0","new_version":"1.13.1","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.1","new_version":"2.9.2","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.0.0","new_version":"3.3.0","repository_url":"https://github.com/steipete/Peekaboo"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 3 updates: [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo).\n\nUpdates `github.com/apple/swift-log` from 1.12.0 to 1.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.13.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMatch \u003ccode\u003eDefaultStringInterpolation\u003c/code\u003e \u003ccode\u003eappendInterpolation \u003c/code\u003e overloads by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/469\"\u003eapple/swift-log#469\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.13.0...1.13.1\"\u003ehttps://github.com/apple/swift-log/compare/1.13.0...1.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.13.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes implementation by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/453\"\u003eapple/swift-log#453\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains a source-breaking change of \u003ccode\u003eMetadataValue\u003c/code\u003e compatibility with custom string interpolations. Please see \u003ca href=\"https://redirect.github.com/apple/swift-log/issues/467\"\u003eapple/swift-log#467\u003c/a\u003e for details.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.1...1.13.0\"\u003ehttps://github.com/apple/swift-log/compare/1.12.1...1.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.12.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove readability by extracting separate types to their own files by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/444\"\u003eapple/swift-log#444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/465\"\u003eapple/swift-log#465\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate documentation to reflect recent changes by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/445\"\u003eapple/swift-log#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependabot to daily schedule by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/446\"\u003eapple/swift-log#446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to 0.0.11 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/447\"\u003eapple/swift-log#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake dependabot set  label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/448\"\u003eapple/swift-log#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for SwiftLogNoOpLogHandler by \u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup repository structure by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/451\"\u003eapple/swift-log#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable nightly 6.3 WASM builds by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/454\"\u003eapple/swift-log#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes proposal (revision 2) by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/440\"\u003eapple/swift-log#440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate macOS CI to Swift version inputs by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/457\"\u003eapple/swift-log#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShared workflows changed from Xcode XX.X to Xcode swift X.X by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/461\"\u003eapple/swift-log#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-package macOS benchmarks workflow by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/466\"\u003eapple/swift-log#466\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.12.1\"\u003ehttps://github.com/apple/swift-log/compare/1.12.0...1.12.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/2aed77ae5ec9a86d8fe42c12275e4c2653a286ee\"\u003e\u003ccode\u003e2aed77a\u003c/code\u003e\u003c/a\u003e Match \u003ccode\u003eDefaultStringInterpolation\u003c/code\u003e \u003ccode\u003eappendInterpolation \u003c/code\u003e overloads (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/469\"\u003e#469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/7dc6101ae4dbe95cd3bc9cebad3b7cf8e49a7a63\"\u003e\u003ccode\u003e7dc6101\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes implementation (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/a012e0ad8a8a72de92b0e008c81a9b793f70e73a\"\u003e\u003ccode\u003ea012e0a\u003c/code\u003e\u003c/a\u003e Adopt multi-package macOS benchmarks workflow (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1069d31898fad2304edbdb9ddf30ddd6b3bcfb96\"\u003e\u003ccode\u003e1069d31\u003c/code\u003e\u003c/a\u003e Skip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3061a62b6d0cfed7c11b5b019fd81443a0beb172\"\u003e\u003ccode\u003e3061a62\u003c/code\u003e\u003c/a\u003e Shared workflows changed from Xcode XX.X to Xcode swift X.X (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/461\"\u003e#461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/184c73762fc180b3138e5320adae67ee738b5625\"\u003e\u003ccode\u003e184c737\u003c/code\u003e\u003c/a\u003e Migrate macOS CI to Swift version inputs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/457\"\u003e#457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/eca81998f52d757e22b3bfbff650025091453bc0\"\u003e\u003ccode\u003eeca8199\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes proposal (revision 2) (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/ac3646e5e0cc783fdb39a70971fac1e37b19202b\"\u003e\u003ccode\u003eac3646e\u003c/code\u003e\u003c/a\u003e Disable nightly 6.3 WASM builds (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/454\"\u003e#454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/5c348a629ce8f04e7dbbd2b27d6ef330fa15cd7b\"\u003e\u003ccode\u003e5c348a6\u003c/code\u003e\u003c/a\u003e Cleanup repository structure (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/451\"\u003e#451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/deae26e91aae13fdf879679e8b37bfaf0427d317\"\u003e\u003ccode\u003edeae26e\u003c/code\u003e\u003c/a\u003e Add tests for SwiftLogNoOpLogHandler (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.1 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0\"\u003e\u003ccode\u003efe7b718\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d2b796bc3e96c3e60267c8e1a3176db11b07c488\"\u003e\u003ccode\u003ed2b796b\u003c/code\u003e\u003c/a\u003e Update you're up to date Spanish translation to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/2f33f56afb966ea7fb65f44b077447c27065dd45\"\u003e\u003ccode\u003e2f33f56\u003c/code\u003e\u003c/a\u003e Fix QoS warning when running Test app server on main thread (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.1...2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.0.0 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003e[3.3.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now supports MiniMax China via \u003ccode\u003eminimax-cn/...\u003c/code\u003e models and \u003ccode\u003eMINIMAX_CN_API_KEY\u003c/code\u003e, while preserving the existing international MiniMax endpoint. Thanks \u003ca href=\"https://github.com/LLuke\"\u003e\u003ccode\u003e@​LLuke\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/161\"\u003e#161\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo click\u003c/code\u003e, \u003ccode\u003etype\u003c/code\u003e, \u003ccode\u003ehotkey\u003c/code\u003e, \u003ccode\u003epress\u003c/code\u003e, and \u003ccode\u003epaste\u003c/code\u003e now use background process-targeted delivery by default when a target PID/app/window/snapshot process can be resolved, with \u003ccode\u003e--foreground\u003c/code\u003e for focused foreground input.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackground text input now prefers AX text editing for typing, paste, clear, and focused-field key presses so targeted apps stay in the background more reliably.\u003c/li\u003e\n\u003cli\u003eBackground text paste no longer snapshots or restores the user clipboard, positional \u003ccode\u003epeekaboo paste \u0026quot;text\u0026quot;\u003c/code\u003e works again, and background \u003ccode\u003ecmd+a\u003c/code\u003e selects focused text fields via AX.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo open --app Finder ...\u003c/code\u003e now resolves Finder from CoreServices, matching the documented examples.\u003c/li\u003e\n\u003cli\u003eVisualizer settings and capture-engine docs now reference \u003ccode\u003epeekaboo capture live\u003c/code\u003e instead of stale top-level \u003ccode\u003epeekaboo watch\u003c/code\u003e/\u003ccode\u003epeekaboo capture\u003c/code\u003e command forms. Thanks \u003ca href=\"https://github.com/coygeek\"\u003e\u003ccode\u003e@​coygeek\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/166\"\u003e#166\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/167\"\u003e#167\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVerification\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.3.0\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.3.0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegistry tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.3.0.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.3.0.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrity: sha512-5VfZ/Xr4KG1Hh4AC1kcQof7SdiNJK0jgSqElW4HErkj9e2hPNft59mJYpZDZnBRQ7JRX3ZJz3vwpx7A8R5+sAA==\u003c/li\u003e\n\u003cli\u003ePublished: 2026-05-31T23:41:15.713Z\u003c/li\u003e\n\u003cli\u003eProof: SwiftFormat, SwiftLint, warning gate, \u003ccode\u003epnpm run test:safe\u003c/code\u003e (463 tests), notarization, appcast validation, npm registry verification.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.2.3\u003c/h2\u003e\n\u003ch2\u003e[3.2.3] - 2026-05-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo image --json\u003c/code\u003e now reports capture coordinate diagnostics and warns when window captures look blank or solid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInteraction commands now accept \u003ccode\u003e--snapshot latest\u003c/code\u003e explicitly and window/app capture failures list rejected capture candidates.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease proof\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.2.3\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.2.3\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eregistry tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.2.3.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.2.3.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintegrity: \u003ccode\u003esha512-0+NJGpJVNnwTYiw/ApL7VNYCMJkOIHHxQqR8qJubzm7EKRt3tVu7CdqHs1lXkpcdJaJ5PYeGGDngj+PeUlPxFA==\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003epublished: 2026-05-24T04:33:55.374Z\u003c/li\u003e\n\u003cli\u003eproof: autoreview clean; \u003ccode\u003epnpm run test:safe\u003c/code\u003e; \u003ccode\u003enode scripts/prepare-release.js\u003c/code\u003e; notarized app zip accepted; GitHub assets verified; npm \u003ccode\u003elatest\u003c/code\u003e points to 3.2.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.2.2\u003c/h2\u003e\n\u003ch2\u003e[3.2.2] - 2026-05-22\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGameBridge manifests now let \u003ccode\u003epeekaboo see\u003c/code\u003e expose Firestaff/SDL game UI zones from GPU-rendered windows. Thanks \u003ca href=\"https://github.com/yeager\"\u003e\u003ccode\u003e@​yeager\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/152\"\u003e#152\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now accepts OpenRouter model IDs and can use \u003ccode\u003eOPENROUTER_API_KEY\u003c/code\u003e from env or credentials. Thanks \u003ca href=\"https://github.com/delort\"\u003e\u003ccode\u003e@​delort\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/155\"\u003e#155\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRelease Verification\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/faf843032772c2074d834b931911bf0002704136\"\u003e\u003ccode\u003efaf8430\u003c/code\u003e\u003c/a\u003e chore(release): update appcast for 3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/6feffe58b1ab2a4dc8e94153a17c36eb7f742b9a\"\u003e\u003ccode\u003e6feffe5\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/697acdd0cfa252ace55e41ebea32d99cb9f27e0c\"\u003e\u003ccode\u003e697acdd\u003c/code\u003e\u003c/a\u003e chore: update Tachikoma submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/6609a43415f5adc62d3fbd50380614c859b4dfc0\"\u003e\u003ccode\u003e6609a43\u003c/code\u003e\u003c/a\u003e fix(cli): improve background text input\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/619a033f898ad64ffe3c49331b071ac34730a596\"\u003e\u003ccode\u003e619a033\u003c/code\u003e\u003c/a\u003e fix(cli): harden background text input\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/122c96da0bd7909df5ca4d3dcd98e086c8bd0733\"\u003e\u003ccode\u003e122c96d\u003c/code\u003e\u003c/a\u003e feat(cli): use background keyboard delivery by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/abb4e87a50737cdcbc42fb3e2e6326c3226c9a2c\"\u003e\u003ccode\u003eabb4e87\u003c/code\u003e\u003c/a\u003e fix(cli): default clicks to background delivery (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/168\"\u003e#168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/c15ff187b75d28745ca5b0177d58da603ea0bf73\"\u003e\u003ccode\u003ec15ff18\u003c/code\u003e\u003c/a\u003e docs: update AXorcist submodule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/28a47f99677aa0e29eb10dcb467677372c3b9f3b\"\u003e\u003ccode\u003e28a47f9\u003c/code\u003e\u003c/a\u003e docs: position README banner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/9d32a65e4a21be70b8bc356ed84e51ba8f7a5fa9\"\u003e\u003ccode\u003e9d32a65\u003c/code\u003e\u003c/a\u003e ci: pin macOS runner labels\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.0.0...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/l3ocifer/puck-openclaw/pull/124","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/l3ocifer%2Fpuck-openclaw/issues/124","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/124/packages"}},{"old_version":"2.9.0","new_version":"2.9.2","update_type":"patch","path":"/apps/macos","pr_created_at":"2026-05-26T20:33:36.000Z","version_change":"2.9.0 → 2.9.2","issue":{"uuid":"4527308794","node_id":"PR_kwDOSopYV87fkPL6","number":11,"state":"closed","title":"build(deps): bump the swift-deps group in /apps/macos with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-27T06:56:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-26T20:33:36.000Z","updated_at":"2026-05-27T06:56:56.000Z","time_to_close":37398,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/orchetect/menubarextraaccess","old_version":"1.2.2","new_version":"1.3.0","repository_url":"https://github.com/orchetect/MenuBarExtraAccess"},{"name":"github.com/apple/swift-log","old_version":"1.10.1","new_version":"1.12.1","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.0","new_version":"2.9.2","repository_url":"https://github.com/sparkle-project/Sparkle"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 3 updates: [github.com/orchetect/menubarextraaccess](https://github.com/orchetect/MenuBarExtraAccess), [github.com/apple/swift-log](https://github.com/apple/swift-log) and [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle).\n\nUpdates `github.com/orchetect/menubarextraaccess` from 1.2.2 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/releases\"\u003egithub.com/orchetect/menubarextraaccess's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.3.0\u003c/h2\u003e\n\u003ch2\u003eImproved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved reliability of status item discovery upon \u003ccode\u003eMenuBarExtra\u003c/code\u003e scene initialization\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emenuBarExtraAccess(...)\u003c/code\u003e scene modifier is now required to be the first modifier applied to a \u003ccode\u003eMenuBarExtra\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMaintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded Package manifest for Swift 6.2 toolchain with \u003ccode\u003eDebugLogging\u003c/code\u003e trait\u003c/li\u003e\n\u003cli\u003eUpdated example projects\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/33bb0e4b1e407feac791e047dcaaf9c69b25fd26\"\u003e\u003ccode\u003e33bb0e4\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/041fdce740b3c32a1f70b4e216414309ae51888a\"\u003e\u003ccode\u003e041fdce\u003c/code\u003e\u003c/a\u003e Renamed CI Xcode scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/78e121649049f25321ea80150c66037ce01b531a\"\u003e\u003ccode\u003e78e1216\u003c/code\u003e\u003c/a\u003e Updated example projects\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/8d8a246eab6fd7a82ec7615d55c13cecce021420\"\u003e\u003ccode\u003e8d8a246\u003c/code\u003e\u003c/a\u003e \u003ccode\u003emenuBarExtraAccess()\u003c/code\u003e scene modifier is now required as first modifier appli...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/4ad6b50f535de9617dd0e1d2a6295eeb951a226e\"\u003e\u003ccode\u003e4ad6b50\u003c/code\u003e\u003c/a\u003e Updated README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/0303ae6fca6b2645253f18fb9a78af0f5359ee71\"\u003e\u003ccode\u003e0303ae6\u003c/code\u003e\u003c/a\u003e Improved reliability of status item discovery upon MenuBarExtra scene initial...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/aac5e3e12d30025153916cf7609405ed245c628d\"\u003e\u003ccode\u003eaac5e3e\u003c/code\u003e\u003c/a\u003e Added Package manifest for Swift 6.2 toolchain with DebugLogging trait\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/16df7fd996a002174758ddb9f930f6667b60c396\"\u003e\u003ccode\u003e16df7fd\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/b71b97aadf1bdd75640705c387448eb887a8ed5b\"\u003e\u003ccode\u003eb71b97a\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/commit/61847fb8649fc3afedd8930aec70ef16bd4b0e03\"\u003e\u003ccode\u003e61847fb\u003c/code\u003e\u003c/a\u003e Updated GitHub CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/orchetect/MenuBarExtraAccess/compare/1.2.2...1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/apple/swift-log` from 1.10.1 to 1.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.12.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove readability by extracting separate types to their own files by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/444\"\u003eapple/swift-log#444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/465\"\u003eapple/swift-log#465\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate documentation to reflect recent changes by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/445\"\u003eapple/swift-log#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependabot to daily schedule by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/446\"\u003eapple/swift-log#446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to 0.0.11 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/447\"\u003eapple/swift-log#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake dependabot set  label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/448\"\u003eapple/swift-log#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for SwiftLogNoOpLogHandler by \u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup repository structure by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/451\"\u003eapple/swift-log#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable nightly 6.3 WASM builds by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/454\"\u003eapple/swift-log#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes proposal (revision 2) by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/440\"\u003eapple/swift-log#440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate macOS CI to Swift version inputs by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/457\"\u003eapple/swift-log#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShared workflows changed from Xcode XX.X to Xcode swift X.X by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/461\"\u003eapple/swift-log#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-package macOS benchmarks workflow by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/466\"\u003eapple/swift-log#466\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.12.1\"\u003ehttps://github.com/apple/swift-log/compare/1.12.0...1.12.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.12.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Swift 6.0 by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/436\"\u003eapple/swift-log#436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSLG-0003: Error parameter implementation by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/425\"\u003eapple/swift-log#425\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Swift 6.3 jobs in CI by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/435\"\u003eapple/swift-log#435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSLG-0004: Metadata privacy levels proposal by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/416\"\u003eapple/swift-log#416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetroactively update status of SLG-0005 to Approved by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/438\"\u003eapple/swift-log#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.8 to 0.0.9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/437\"\u003eapple/swift-log#437\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.11.0...1.12.0\"\u003ehttps://github.com/apple/swift-log/compare/1.11.0...1.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Minor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[SLG-0005]: LogEvent LogHandler API implementation by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/423\"\u003eapple/swift-log#423\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using CFilePointer typealias in default logger by \u003ca href=\"https://github.com/madsodgaard\"\u003e\u003ccode\u003e@​madsodgaard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/433\"\u003eapple/swift-log#433\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/a012e0ad8a8a72de92b0e008c81a9b793f70e73a\"\u003e\u003ccode\u003ea012e0a\u003c/code\u003e\u003c/a\u003e Adopt multi-package macOS benchmarks workflow (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1069d31898fad2304edbdb9ddf30ddd6b3bcfb96\"\u003e\u003ccode\u003e1069d31\u003c/code\u003e\u003c/a\u003e Skip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3061a62b6d0cfed7c11b5b019fd81443a0beb172\"\u003e\u003ccode\u003e3061a62\u003c/code\u003e\u003c/a\u003e Shared workflows changed from Xcode XX.X to Xcode swift X.X (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/461\"\u003e#461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/184c73762fc180b3138e5320adae67ee738b5625\"\u003e\u003ccode\u003e184c737\u003c/code\u003e\u003c/a\u003e Migrate macOS CI to Swift version inputs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/457\"\u003e#457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/eca81998f52d757e22b3bfbff650025091453bc0\"\u003e\u003ccode\u003eeca8199\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes proposal (revision 2) (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/ac3646e5e0cc783fdb39a70971fac1e37b19202b\"\u003e\u003ccode\u003eac3646e\u003c/code\u003e\u003c/a\u003e Disable nightly 6.3 WASM builds (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/454\"\u003e#454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/5c348a629ce8f04e7dbbd2b27d6ef330fa15cd7b\"\u003e\u003ccode\u003e5c348a6\u003c/code\u003e\u003c/a\u003e Cleanup repository structure (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/451\"\u003e#451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/deae26e91aae13fdf879679e8b37bfaf0427d317\"\u003e\u003ccode\u003edeae26e\u003c/code\u003e\u003c/a\u003e Add tests for SwiftLogNoOpLogHandler (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1fe83fbfe9a709d9572e7fd5785016a54ff36c6b\"\u003e\u003ccode\u003e1fe83fb\u003c/code\u003e\u003c/a\u003e Make dependabot set  label (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/41592e45e167db0e7c89d3ec4a2d3fb98ef1c1a0\"\u003e\u003ccode\u003e41592e4\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apple/swift-log/compare/1.10.1...1.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.0 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003ch2\u003e2.9.1 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential crash due to race condition within clearDownloadedUpdate (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2863\"\u003e#2863\u003c/a\u003e) (Julian Pscheid)\u003c/li\u003e\n\u003cli\u003eFix generate_appcast failing if feed URL doesn't have lastPathComponent (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2862\"\u003e#2862\u003c/a\u003e) (Julian Pscheid)\u003c/li\u003e\n\u003cli\u003eDon't let progress status text title string line wrap (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2856\"\u003e#2856\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd minimal framework support for building arm64e (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2858\"\u003e#2858\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2860\"\u003e#2860\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eAdd SKIP_INSTALL=YES to for XPCServices targets (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2864\"\u003e#2864\u003c/a\u003e) (Jeremy Huddleston Sequoia)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0\"\u003e\u003ccode\u003efe7b718\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d2b796bc3e96c3e60267c8e1a3176db11b07c488\"\u003e\u003ccode\u003ed2b796b\u003c/code\u003e\u003c/a\u003e Update you're up to date Spanish translation to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/2f33f56afb966ea7fb65f44b077447c27065dd45\"\u003e\u003ccode\u003e2f33f56\u003c/code\u003e\u003c/a\u003e Fix QoS warning when running Test app server on main thread (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.0...2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/dalet4/hermes/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dalet4%2Fhermes/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"2.9.1","new_version":"2.9.2","update_type":"patch","path":"/apps/macos","pr_created_at":"2026-05-23T18:06:28.000Z","version_change":"2.9.1 → 2.9.2","issue":{"uuid":"4509179043","node_id":"PR_kwDOSl5V0s7eqzM3","number":3,"state":"closed","title":"build(deps): bump the swift-deps group in /apps/macos with 3 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-24T04:44:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-23T18:06:28.000Z","updated_at":"2026-05-24T04:44:39.000Z","time_to_close":38282,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"swift-deps","update_count":3,"packages":[{"name":"github.com/apple/swift-log","old_version":"1.12.0","new_version":"1.12.1","repository_url":"https://github.com/apple/swift-log"},{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.1","new_version":"2.9.2","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.2.1","new_version":"3.2.2","repository_url":"https://github.com/steipete/Peekaboo"}],"path":"/apps/macos","ecosystem":"swift"},"body":"Bumps the swift-deps group in /apps/macos with 3 updates: [github.com/apple/swift-log](https://github.com/apple/swift-log), [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo).\n\nUpdates `github.com/apple/swift-log` from 1.12.0 to 1.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apple/swift-log/releases\"\u003egithub.com/apple/swift-log's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.12.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSemVer Patch\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove readability by extracting separate types to their own files by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/444\"\u003eapple/swift-log#444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/465\"\u003eapple/swift-log#465\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate documentation to reflect recent changes by \u003ca href=\"https://github.com/samuelmurray\"\u003e\u003ccode\u003e@​samuelmurray\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/445\"\u003eapple/swift-log#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependabot to daily schedule by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/446\"\u003eapple/swift-log#446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to 0.0.11 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/447\"\u003eapple/swift-log#447\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake dependabot set  label by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/448\"\u003eapple/swift-log#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tests for SwiftLogNoOpLogHandler by \u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup repository structure by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/451\"\u003eapple/swift-log#451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable nightly 6.3 WASM builds by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/454\"\u003eapple/swift-log#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SLG-0004]: metadata value attributes proposal (revision 2) by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/440\"\u003eapple/swift-log#440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate macOS CI to Swift version inputs by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/457\"\u003eapple/swift-log#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShared workflows changed from Xcode XX.X to Xcode swift X.X by \u003ca href=\"https://github.com/kukushechkin\"\u003e\u003ccode\u003e@​kukushechkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/461\"\u003eapple/swift-log#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdopt multi-package macOS benchmarks workflow by \u003ca href=\"https://github.com/rnro\"\u003e\u003ccode\u003e@​rnro\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/466\"\u003eapple/swift-log#466\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crleonard\"\u003e\u003ccode\u003e@​crleonard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/apple/swift-log/pull/449\"\u003eapple/swift-log#449\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.12.1\"\u003ehttps://github.com/apple/swift-log/compare/1.12.0...1.12.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/a012e0ad8a8a72de92b0e008c81a9b793f70e73a\"\u003e\u003ccode\u003ea012e0a\u003c/code\u003e\u003c/a\u003e Adopt multi-package macOS benchmarks workflow (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/466\"\u003e#466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1069d31898fad2304edbdb9ddf30ddd6b3bcfb96\"\u003e\u003ccode\u003e1069d31\u003c/code\u003e\u003c/a\u003e Skip handler dispatch for setters under \u003ccode\u003eMaxLogLevelNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/465\"\u003e#465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/3061a62b6d0cfed7c11b5b019fd81443a0beb172\"\u003e\u003ccode\u003e3061a62\u003c/code\u003e\u003c/a\u003e Shared workflows changed from Xcode XX.X to Xcode swift X.X (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/461\"\u003e#461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/184c73762fc180b3138e5320adae67ee738b5625\"\u003e\u003ccode\u003e184c737\u003c/code\u003e\u003c/a\u003e Migrate macOS CI to Swift version inputs (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/457\"\u003e#457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/eca81998f52d757e22b3bfbff650025091453bc0\"\u003e\u003ccode\u003eeca8199\u003c/code\u003e\u003c/a\u003e [SLG-0004]: metadata value attributes proposal (revision 2) (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/ac3646e5e0cc783fdb39a70971fac1e37b19202b\"\u003e\u003ccode\u003eac3646e\u003c/code\u003e\u003c/a\u003e Disable nightly 6.3 WASM builds (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/454\"\u003e#454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/5c348a629ce8f04e7dbbd2b27d6ef330fa15cd7b\"\u003e\u003ccode\u003e5c348a6\u003c/code\u003e\u003c/a\u003e Cleanup repository structure (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/451\"\u003e#451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/deae26e91aae13fdf879679e8b37bfaf0427d317\"\u003e\u003ccode\u003edeae26e\u003c/code\u003e\u003c/a\u003e Add tests for SwiftLogNoOpLogHandler (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/1fe83fbfe9a709d9572e7fd5785016a54ff36c6b\"\u003e\u003ccode\u003e1fe83fb\u003c/code\u003e\u003c/a\u003e Make dependabot set  label (\u003ca href=\"https://redirect.github.com/apple/swift-log/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apple/swift-log/commit/41592e45e167db0e7c89d3ec4a2d3fb98ef1c1a0\"\u003e\u003ccode\u003e41592e4\u003c/code\u003e\u003c/a\u003e Bump swiftlang/github-workflows/.github/workflows/soundness.yml from 0.0.9 to...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apple/swift-log/compare/1.12.0...1.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.1 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0\"\u003e\u003ccode\u003efe7b718\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d2b796bc3e96c3e60267c8e1a3176db11b07c488\"\u003e\u003ccode\u003ed2b796b\u003c/code\u003e\u003c/a\u003e Update you're up to date Spanish translation to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/2f33f56afb966ea7fb65f44b077447c27065dd45\"\u003e\u003ccode\u003e2f33f56\u003c/code\u003e\u003c/a\u003e Fix QoS warning when running Test app server on main thread (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.1...2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.2.1 to 3.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.2\u003c/h2\u003e\n\u003ch2\u003e[3.2.2] - 2026-05-22\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGameBridge manifests now let \u003ccode\u003epeekaboo see\u003c/code\u003e expose Firestaff/SDL game UI zones from GPU-rendered windows. Thanks \u003ca href=\"https://github.com/yeager\"\u003e\u003ccode\u003e@​yeager\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/152\"\u003e#152\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now accepts OpenRouter model IDs and can use \u003ccode\u003eOPENROUTER_API_KEY\u003c/code\u003e from env or credentials. Thanks \u003ca href=\"https://github.com/delort\"\u003e\u003ccode\u003e@​delort\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/155\"\u003e#155\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRelease Verification\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enpm package: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.2.2\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.2.2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eregistry tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.2.2.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.2.2.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enpm integrity: \u003ccode\u003esha512-MV2heuhtWJPf8H1KwYGyfcXlOqKEMtuZNlOH9CA7gG7iXRsX28qEjCy/DTUWbTnKKeIsbrVi9SGjxfMLBIrXFg==\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eproof: \u003ccode\u003epnpm run lint\u003c/code\u003e, \u003ccode\u003epnpm run test:safe\u003c/code\u003e, universal CLI build, Developer ID signing, Apple notarization accepted, Sparkle appcast XML validated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/d7b665c5df8b4b5c55b99a6e435bd938b431ffe9\"\u003e\u003ccode\u003ed7b665c\u003c/code\u003e\u003c/a\u003e chore(release): update appcast for 3.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/43ed861725665f610ebc11e27ebf8d5c27021ca4\"\u003e\u003ccode\u003e43ed861\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/1fd0dc6f519ae461110c0ce538d09678a212b919\"\u003e\u003ccode\u003e1fd0dc6\u003c/code\u003e\u003c/a\u003e fix: remove GameBridge release warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/2edeee0b33271b0659e5b94183616799c6ce29a5\"\u003e\u003ccode\u003e2edeee0\u003c/code\u003e\u003c/a\u003e feat: add GameBridge detection for SDL game windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/c4a151a597de42cc65bec71bbc1c6ac0b07a5e22\"\u003e\u003ccode\u003ec4a151a\u003c/code\u003e\u003c/a\u003e chore: bump Tachikoma\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/3089e051107c299a8ea3085a47adaac4f7da5f61\"\u003e\u003ccode\u003e3089e05\u003c/code\u003e\u003c/a\u003e build: reuse shared mac release tooling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/a9725f89e68f5da8c4d76b73c7d08f8a0174f70a\"\u003e\u003ccode\u003ea9725f8\u003c/code\u003e\u003c/a\u003e feat(agent): add OpenRouter provider support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/fe6548a5d89974d970517b7f86d7da65e1491576\"\u003e\u003ccode\u003efe6548a\u003c/code\u003e\u003c/a\u003e fix(agent): treat OAuth access tokens as Bearer auth not API keys (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/154\"\u003e#154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/96a165d7f2ec776784d4fa3fb5db1f6f17256733\"\u003e\u003ccode\u003e96a165d\u003c/code\u003e\u003c/a\u003e chore(release): close 3.2.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.2.1...v3.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/sihaun/ShadowClaw/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sihaun%2FShadowClaw/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"2.9.1","new_version":"2.9.2","update_type":"patch","path":null,"pr_created_at":"2026-05-19T18:59:28.000Z","version_change":"2.9.1 → 2.9.2","issue":{"uuid":"4480184449","node_id":"PR_kwDORKp0PM7dNXY1","number":24,"state":"closed","title":"chore(deps): bump the swift-deps group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","swift_package_manager"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T09:02:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T18:59:28.000Z","updated_at":"2026-05-25T09:02:06.000Z","time_to_close":482556,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"swift-deps","update_count":2,"packages":[{"name":"github.com/sparkle-project/sparkle","old_version":"2.9.1","new_version":"2.9.2","repository_url":"https://github.com/sparkle-project/Sparkle"},{"name":"github.com/steipete/peekaboo","old_version":"3.0.0","new_version":"3.2.1","repository_url":"https://github.com/steipete/Peekaboo"}],"path":null,"ecosystem":"swift"},"body":"Bumps the swift-deps group with 2 updates in the /apps/macos directory: [github.com/sparkle-project/sparkle](https://github.com/sparkle-project/Sparkle) and [github.com/steipete/peekaboo](https://github.com/steipete/Peekaboo).\n\nUpdates `github.com/sparkle-project/sparkle` from 2.9.1 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases\"\u003egithub.com/sparkle-project/sparkle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 Appcast Improvements\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eShow hidden window title in update window for accessibility (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2871\"\u003e#2871\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003ePolish and update Spanish translations to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e) (Emilio P Egido)\u003c/li\u003e\n\u003cli\u003eGuard against NULL CFRelease() on failure condition in fallback path (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2867\"\u003e#2867\u003c/a\u003e) (Zorg)\u003c/li\u003e\n\u003cli\u003eGuard against symlinks when applying delta update files (fe7b718) (Zorg, fg0x0)\u003c/li\u003e\n\u003cli\u003eEnforce connection to installer to be validated before receiving appcast item data (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2876\"\u003e#2876\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e) (Zorg, fg0x0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release contains two high-complex security fixes reported by \u003ca href=\"https://github.com/fg0x0\"\u003e\u003ccode\u003e@​fg0x0\u003c/code\u003e\u003c/a\u003e. The details will be posted in the \u003ca href=\"https://github.com/sparkle-project/Sparkle/discussions/2838\"\u003e2.9 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003ePlease also check \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.1\"\u003e2.9.1\u003c/a\u003e and \u003ca href=\"https://github.com/sparkle-project/Sparkle/releases/tag/2.9.0\"\u003e2.9.0\u003c/a\u003e for previous changes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6276ba2b404829d139c45ff98427cf90e2efc59b\"\u003e\u003ccode\u003e6276ba2\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/113279a21f754abf10c2b7a019543c43b9c3b74d\"\u003e\u003ccode\u003e113279a\u003c/code\u003e\u003c/a\u003e Improve synchronization of _receivedAppcastItemData (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/7c4741d762df4f7162bfd4f267a4217a3a4a80c9\"\u003e\u003ccode\u003e7c4741d\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/5df807d5ac88cd912abb5e24747e1c20e06352b8\"\u003e\u003ccode\u003e5df807d\u003c/code\u003e\u003c/a\u003e Update README for 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/c6ab245eba32c85bfe8ad4d51184bcb2c58cf69a\"\u003e\u003ccode\u003ec6ab245\u003c/code\u003e\u003c/a\u003e Update Package management files for version 2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/6e370a5ab8293da6a028da49a33f67e9b20d86e1\"\u003e\u003ccode\u003e6e370a5\u003c/code\u003e\u003c/a\u003e Enforce connection to installer to be validated before receiving appcast item...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/cbdc150cfb2fa0ca8b0c1aaed3841bbb18be61d0\"\u003e\u003ccode\u003ecbdc150\u003c/code\u003e\u003c/a\u003e Polish Spanish localization in Sparkle.strings (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2875\"\u003e#2875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/fe7b718d0736f3e139e374e26fbca96f29e13bf0\"\u003e\u003ccode\u003efe7b718\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/d2b796bc3e96c3e60267c8e1a3176db11b07c488\"\u003e\u003ccode\u003ed2b796b\u003c/code\u003e\u003c/a\u003e Update you're up to date Spanish translation to be gender neutral (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2874\"\u003e#2874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparkle-project/Sparkle/commit/2f33f56afb966ea7fb65f44b077447c27065dd45\"\u003e\u003ccode\u003e2f33f56\u003c/code\u003e\u003c/a\u003e Fix QoS warning when running Test app server on main thread (\u003ca href=\"https://redirect.github.com/sparkle-project/Sparkle/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparkle-project/Sparkle/compare/2.9.1...2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github.com/steipete/peekaboo` from 3.0.0 to 3.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/steipete/Peekaboo/releases\"\u003egithub.com/steipete/peekaboo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.1\u003c/h2\u003e\n\u003ch2\u003e[3.2.1] - 2026-05-18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo click --coords\u003c/code\u003e now treats coordinates as target-window-relative when app/window target flags are supplied, reports resolved target metadata, and requires \u003ccode\u003e--global-coords\u003c/code\u003e for targeted global clicks.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo-mcp\u003c/code\u003e now shuts down cleanly during restart backoff and repairs executable permissions without shelling out through an install path.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epnpm run peekaboo:dev\u003c/code\u003e no longer depends on a hardcoded local checkout path.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now tells models to use the current tool schema instead of stale tool names and arguments. Thanks \u003ca href=\"https://github.com/vyctorbrzezowski\"\u003e\u003ccode\u003e@​vyctorbrzezowski\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/139\"\u003e#139\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAX element detection now honors traversal budgets and reports truncation when depth, count, or per-node child limits are reached. Thanks \u003ca href=\"https://github.com/vyctorbrzezowski\"\u003e\u003ccode\u003e@​vyctorbrzezowski\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/140\"\u003e#140\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e and MCP clients now have an \u003ccode\u003einspect_ui\u003c/code\u003e tool for AX-only UI text/control inspection without capturing screenshots. Thanks \u003ca href=\"https://github.com/vyctorbrzezowski\"\u003e\u003ccode\u003e@​vyctorbrzezowski\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/141\"\u003e#141\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eWindow-mode capture now falls back to desktop-independent ScreenCaptureKit filters when multi-display setups cannot map a window to an enumerated display. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/147\"\u003e#147\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e guidance now routes AX-only observation through \u003ccode\u003einspect_ui\u003c/code\u003e consistently while keeping screenshot-backed checks on \u003ccode\u003esee\u003c/code\u003e. Thanks \u003ca href=\"https://github.com/vyctorbrzezowski\"\u003e\u003ccode\u003e@​vyctorbrzezowski\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/144\"\u003e#144\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCustom provider docs, CLI help, and macOS settings now prefer \u003ccode\u003e${VAR}\u003c/code\u003e API key references and shell examples that preserve them literally. Thanks \u003ca href=\"https://github.com/scotthuang\"\u003e\u003ccode\u003e@​scotthuang\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/142\"\u003e#142\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now refreshes desktop context before each model turn and wires opt-in action verification through the configured capture strategy. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/148\"\u003e#148\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAX traversal budgets now have wider defaults plus CLI, MCP, and environment overrides for complex app trees. Thanks \u003ca href=\"https://github.com/widdowson\"\u003e\u003ccode\u003e@​widdowson\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/150\"\u003e#150\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/151\"\u003e#151\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease Proof\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enpm: \u003ca href=\"https://www.npmjs.com/package/@steipete/peekaboo/v/3.2.1\"\u003ehttps://www.npmjs.com/package/@​steipete/peekaboo/v/3.2.1\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enpm tarball: \u003ca href=\"https://registry.npmjs.org/@steipete/peekaboo/-/peekaboo-3.2.1.tgz\"\u003ehttps://registry.npmjs.org/@​steipete/peekaboo/-/peekaboo-3.2.1.tgz\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003enpm integrity: sha512-EemQV/dh2pM3NjhYNeCwN5z2xVnNCRtiG/lOpUWCG9D11ebaY8mgoKoNAACjDcWwIsSB+tAhzYj9F1Y5bee70A==\u003c/li\u003e\n\u003cli\u003enpm published: 2026-05-18T13:56:48.898Z\u003c/li\u003e\n\u003cli\u003emacOS app: signed, notarized, stapled, and \u003ccode\u003espctl\u003c/code\u003e accepted as Notarized Developer ID.\u003c/li\u003e\n\u003cli\u003eLocal proof: \u003ccode\u003epnpm run lint\u003c/code\u003e, \u003ccode\u003epnpm run format\u003c/code\u003e, \u003ccode\u003epnpm run test:safe\u003c/code\u003e, universal CLI build/package verification, checksum verification, appcast XML validation.\u003c/li\u003e\n\u003cli\u003eAssets: \u003ccode\u003ePeekaboo-3.2.1.app.zip\u003c/code\u003e, \u003ccode\u003epeekaboo-macos-universal.tar.gz\u003c/code\u003e, \u003ccode\u003esteipete-peekaboo-3.2.1.tgz\u003c/code\u003e, \u003ccode\u003echecksums.txt\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003e[3.2.0] - 2026-05-15\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo click --focus-background\u003c/code\u003e and the MCP \u003ccode\u003eclick\u003c/code\u003e tool now support process-targeted background mouse delivery for apps identified by \u003ccode\u003e--app\u003c/code\u003e, \u003ccode\u003e--pid\u003c/code\u003e, or snapshot metadata.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now supports MiniMax M2.7 through Tachikoma's Anthropic-compatible provider path. Thanks \u003ca href=\"https://github.com/xiaofeiwa\"\u003e\u003ccode\u003e@​xiaofeiwa\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/130\"\u003e#130\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now accepts \u003ccode\u003eollama/\u0026lt;model\u0026gt;\u003c/code\u003e and \u003ccode\u003elmstudio/\u0026lt;model\u0026gt;\u003c/code\u003e local model selections, including local-only provider defaults. Thanks \u003ca href=\"https://github.com/0x5845\"\u003e\u003ccode\u003e@​0x5845\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/137\"\u003e#137\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOllama vision model IDs such as \u003ccode\u003eqwen2.5vl:3b\u003c/code\u003e now stay intact through Tachikoma model parsing instead of falling back to \u003ccode\u003ellama3.3\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/16\"\u003e#16\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e now initializes with Gemini-only or MiniMax-only credentials instead of falling back to an unavailable OpenAI/Anthropic default. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/133\"\u003e#133\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eWindow captures now retry transient \u003ccode\u003eSCScreenshotManager\u003c/code\u003e failures before reporting a minimized/off-screen/Space hint. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/135\"\u003e#135\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eThe macOS app now keeps one status item/controller across app state reconnects and removes the status item on teardown, avoiding duplicate or ghost menu bar icons. Thanks \u003ca href=\"https://github.com/lonexreb\"\u003e\u003ccode\u003e@​lonexreb\u003c/code\u003e\u003c/a\u003e for \u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/134\"\u003e#134\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRelease automation now verifies CLI, npm, macOS app, checksum, appcast, and uploaded GitHub assets before publish.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo type --json\u003c/code\u003e now separates requested text from executed key actions, making escaped special keys such as \u003ccode\u003e\\n\u003c/code\u003e visible to agents without losing backwards-compatible \u003ccode\u003etypedText\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo permissions status --all-sources\u003c/code\u003e now compares Bridge and local TCC permission state side by side, so daemon grants are no longer confused with CLI grants.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo mcp serve --transport ...\u003c/code\u003e now rejects invalid transport names instead of silently starting stdio mode.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo paste --app ...\u003c/code\u003e now fails before mutating the clipboard when the requested app cannot be found.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekaboo agent\u003c/code\u003e no longer sends stale Anthropic extended-thinking options to Claude Opus 4.7 and now exits with failure when agent execution fails.\u003c/li\u003e\n\u003cli\u003eCommand timeout JSON now reports the intended timeout error instead of occasionally surfacing cancellation as an unknown error.\u003c/li\u003e\n\u003cli\u003eRefreshed CLI docs and quickstart examples to use current flags such as \u003ccode\u003eimage --path\u003c/code\u003e, \u003ccode\u003eclick --coords\u003c/code\u003e, \u003ccode\u003etype --return\u003c/code\u003e, \u003ccode\u003epress --count\u003c/code\u003e, and \u003ccode\u003escroll --amount\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDebug CLI startup no longer spawns \u003ccode\u003egit config\u003c/code\u003e on every launch when build-staleness checking is disabled, cutting startup-heavy command latency by more than 30% in local testing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/36108b4ea7d7848d616c3cad1e7a03e40d6be857\"\u003e\u003ccode\u003e36108b4\u003c/code\u003e\u003c/a\u003e fix(release): verify Developer ID app signing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/35dfbb26a6a2de44fc37af7229a994f32f636d5b\"\u003e\u003ccode\u003e35dfbb2\u003c/code\u003e\u003c/a\u003e fix(release): disable notary S3 acceleration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/9cd7771b43a19119cabc1f2d66f9e50a7e842f11\"\u003e\u003ccode\u003e9cd7771\u003c/code\u003e\u003c/a\u003e refactor(detection): satisfy release lint gate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/75e2884e0111aff0b9688b0eace4b8ad561ccdb3\"\u003e\u003ccode\u003e75e2884\u003c/code\u003e\u003c/a\u003e chore(release): prepare 3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/eba271eaff8a29b2e03a56cf43fee02f0cf4d737\"\u003e\u003ccode\u003eeba271e\u003c/code\u003e\u003c/a\u003e fix(cli): resolve targeted click coordinates (\u003ca href=\"https://redirect.github.com/steipete/Peekaboo/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/6ce071077a82720cf261a0c023874ef968ae0a44\"\u003e\u003ccode\u003e6ce0710\u003c/code\u003e\u003c/a\u003e feat(detection): expose AX traversal budget controls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/d211a760fd862f643cc43cf5b5fe3e90de5e1139\"\u003e\u003ccode\u003ed211a76\u003c/code\u003e\u003c/a\u003e feat(agent): wire per-turn context and action verification\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/9bd822faf1868e0ae4fc6db4ea66eda81fd67b8b\"\u003e\u003ccode\u003e9bd822f\u003c/code\u003e\u003c/a\u003e fix(config): preserve custom provider credential references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/b0845e2e177c9a9f74f4de75bc26d0294c03e724\"\u003e\u003ccode\u003eb0845e2\u003c/code\u003e\u003c/a\u003e docs(config): preserve env references in shell examples\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openclaw/Peekaboo/commit/8508be1c77226f10381cd2f48f0a3ce8578d94b2\"\u003e\u003ccode\u003e8508be1\u003c/code\u003e\u003c/a\u003e docs: prefer ${VAR} over {env:VAR} for custom provider apiKey\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/steipete/Peekaboo/compare/v3.0.0...v3.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/devicemanager/openclaw/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/devicemanager%2Fopenclaw/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"}}]}