Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 832

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
tag:github.com,2008:https://github.com/Carthage/Carthage/releases Release notes from Carthage 2024-09-09T14:40:30Z tag:github.com,2008:Repository/25050844/0.40.0 2024-09-09T14:53:24Z 0.40.0 <p><strong>Changes</strong></p> <ul> <li>Under all Xcodes and <code>xcodebuild</code>s — Carthage will pass <code>SUPPORTS_MACCATALYST=NO</code> just before <code>CARTHAGE=YES</code>. <ul> <li>We consider adding that passed/hardcoded build setting safe — considering any likelihood ‘build setting chaining/interpolation’ using <code>SUPPORTS_MACCATALYST</code> is guessed to be almost entirely non-existent. Please file an issue if unexpected effects are seen.</li> </ul> </li> <li>Under all Xcode versions, all xcodebuild invocations of <code>-showBuildSettings</code> that return non-0 exit code and standardError matching <code>error[:] [^\n]*Found no destinations for the scheme [^\n]+ and action [^\n]+[.]\n</code> will see non-surfacing of those errors. Carthage proceeds as if that xcodebuild invocation never happened (which is essentially how Carthage behaved before it had one more non-0 exit code return to deal with.)</li> <li>No longer (under Xcode 16 and above) prefix <code>-showBuildSettings</code> with solely the <code>archive</code> action. Carthage has long-standingly built <code>simulator</code> code under the <code>build</code> action.</li> <li>Xcode Build Setting <code>OBJROOT</code> now appears to have more path components. We lop some path components off (only under Xcode 16 and above.)</li> </ul> <p><strong>Acknowledgements</strong></p> <p>Thank you to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/prassyy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/prassyy">@prassyy</a> for a pull request!</p> jdhealy tag:github.com,2008:Repository/25050844/0.39.1 2023-09-18T16:45:54Z 0.39.1 <p><strong>Fixed</strong></p> <ul> <li>Support visionOS by using -destination <code>xros</code>/<code>xrsimulator</code>. Make additive changes to <code>XCDBLD</code>’s <code>SDK</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1777586759" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3345" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3345/hovercard" href="https://github.com/Carthage/Carthage/pull/3345">#3345</a>).</li> <li>Fix Makefile to only pass <code>-static-stdlib</code> when Xcodes are accommodated. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1891018375" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3350" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3350/hovercard" href="https://github.com/Carthage/Carthage/pull/3350">#3350</a>).</li> </ul> <p><strong>Acknowledgments</strong></p> <p>Thanks to all contributors.</p> jdhealy tag:github.com,2008:Repository/25050844/0.39.0 2023-01-28T09:15:32Z 0.39.0 <h2>Fixed</h2> <ul> <li><a href="https://github.com/Carthage/Carthage/issues/3292" data-hovercard-type="issue" data-hovercard-url="/Carthage/Carthage/issues/3292/hovercard">In Xcode 14, Carthage does not create tvOS &amp; watchOS builds when Bitcode is disabled · Issue #3292 · Carthage/Carthage</a></li> </ul> <h2>What's Changed</h2> <ul> <li>Add: --use-xcframeworks check by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ryu1sazae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ryu1sazae">@ryu1sazae</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="922234442" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3204" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3204/hovercard" href="https://github.com/Carthage/Carthage/pull/3204">#3204</a></li> <li>Fix typo in fileReadCorruptFile error description by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TTOzzi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TTOzzi">@TTOzzi</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1001906768" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3231" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3231/hovercard" href="https://github.com/Carthage/Carthage/pull/3231">#3231</a></li> <li>README.md: HTTP =&gt; HTTPS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schweinepriester/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schweinepriester">@Schweinepriester</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1065335377" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3244" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3244/hovercard" href="https://github.com/Carthage/Carthage/pull/3244">#3244</a></li> <li>Update Xcode12Workaround.md by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Huang-Libo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Huang-Libo">@Huang-Libo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1097163529" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3248" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3248/hovercard" href="https://github.com/Carthage/Carthage/pull/3248">#3248</a></li> <li>Use modern Alamofire version in README by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jshier/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jshier">@jshier</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="915675299" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3200" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3200/hovercard" href="https://github.com/Carthage/Carthage/pull/3200">#3200</a></li> <li>Fix issue where Carthage doesn’t build for watchOS or tvOS if bitcode is disabled in Xcode 14 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daltonclaybrook/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daltonclaybrook">@daltonclaybrook</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1309948258" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3293" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3293/hovercard" href="https://github.com/Carthage/Carthage/pull/3293">#3293</a></li> <li>Bump up version to 0.39.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giginet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giginet">@giginet</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1533746228" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3318" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3318/hovercard" href="https://github.com/Carthage/Carthage/pull/3318">#3318</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ryu1sazae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ryu1sazae">@ryu1sazae</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="922234442" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3204" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3204/hovercard" href="https://github.com/Carthage/Carthage/pull/3204">#3204</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TTOzzi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TTOzzi">@TTOzzi</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1001906768" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3231" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3231/hovercard" href="https://github.com/Carthage/Carthage/pull/3231">#3231</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schweinepriester/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schweinepriester">@Schweinepriester</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1065335377" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3244" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3244/hovercard" href="https://github.com/Carthage/Carthage/pull/3244">#3244</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Huang-Libo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Huang-Libo">@Huang-Libo</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1097163529" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3248" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3248/hovercard" href="https://github.com/Carthage/Carthage/pull/3248">#3248</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jshier/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jshier">@jshier</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="915675299" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3200" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3200/hovercard" href="https://github.com/Carthage/Carthage/pull/3200">#3200</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daltonclaybrook/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daltonclaybrook">@daltonclaybrook</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1309948258" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3293" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3293/hovercard" href="https://github.com/Carthage/Carthage/pull/3293">#3293</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Carthage/Carthage/compare/0.38.0...0.39.0"><tt>0.38.0...0.39.0</tt></a></p> giginet tag:github.com,2008:Repository/25050844/0.38.0 2021-05-07T23:56:56Z 0.38.0 — Prebuilt Parity <p><strong>Fixed</strong></p> <ul> <li>Building XCFrameworks with nested dependencies no longer requires a platform-specific Build directory (i.e. <code>Carthage/Build/iOS</code>) to exist (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="815267310" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3135" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3135/hovercard" href="https://github.com/Carthage/Carthage/pull/3135">#3135</a>).</li> </ul> <p><strong>Added</strong></p> <ul> <li> <p>Prebuilt dependencies (for <a href="https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#binary-only-frameworks">binary only frameworks</a> and <a href="https://github.com/Carthage/Carthage#archive-prebuilt-frameworks-into-one-zip-file">GitHub release assets</a>) may use XCFrameworks, which are checked for compatibility and extracted into the Build folder (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="801768066" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3123" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3123/hovercard" href="https://github.com/Carthage/Carthage/pull/3123">#3123</a>). See the section below on compatibility information for framework authors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/igstewart3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/igstewart3">@igstewart3</a>! 🎉</p> </li> <li> <p>Project lookup is faster for dependencies which contain multiple xcodeprojs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="729848493" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3076" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3076/hovercard" href="https://github.com/Carthage/Carthage/pull/3076">#3076</a>).</p> </li> </ul> <p><strong>Known issues</strong></p> <ul> <li><code>carthage archive</code> does not archive built XCFrameworks <ul> <li>Support for making an xcframework archive will be added in a future release. For now, manually create archives by building twice: once with the <code>--use-xcframeworks</code> option, and once without. Then, create a zip from the <code>Carthage/Build</code> folder.</li> </ul> </li> </ul> <h2>How to distribute XCFrameworks while retaining backwards compatibility</h2> <p>Since Carthage lets users choose whether they want discrete frameworks or XCFrameworks, we recommend supporting both distribution formats in your binary assets. Replacing discrete frameworks with XCFrameworks in your assets is a <strong>breaking change</strong>, since it will require users to <a href="https://github.com/Carthage/Carthage#migrating-a-project-from-framework-bundles-to-xcframeworks">reintegrate the framework with their project</a>.</p> <h3>Create separate <code>.framework.zip</code> and <code>.xcframework.zip</code> archives</h3> <p>Starting in 0.38.0, Carthage follows a naming convention to distinguish between XCFrameworks and plain framework bundles:</p> <ul> <li>A release asset with <code>.xcframework</code> in the name is considered to contain XCFrameworks</li> <li>An asset with <code>.framework</code> in the name is considered to contain plain framework bundles</li> <li>Carthage looks to narrow download candidates when comparable filenames are found → the comparison is ‘do the filenames match after removing one «.framework» or one «.xcframework» found string from the filename?'. This allows to Carthage to narrow down to one comparison-matched download, basing direction on whether <code>--use-xcframeworks</code> is flagged. Sets entirely 'not-matching-comparison' will see no removal of download candidates.</li> </ul> <h4>GitHub release assets: Upload both archives to the release</h4> <p>GitHub releases can have multiple files attached to them. Upload both zip files to your release following the above naming convention. See <a href="https://github.com/Carthage/Carthage#archive-prebuilt-frameworks-into-zip-files">the README</a> for more information.</p> <h4>Binary only frameworks: Specify both archives in the binary spec URL using an <code>alt=</code> parameter.</h4> <p><a href="https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#binary-project-specification">Binary project specifications</a> are JSON documents which map <em>one</em> download URL to <em>one</em> version. To provide multiple asset URLs, join the URLs with an <code>alt=</code> query parameter. For example:</p> <div class="highlight highlight-source-json notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{ &quot;1.2.3&quot;: &quot;https://example.com/releases/MyFramework-v1.2.3.framework.zip?alt=https://example.com/releases/MyFramework-v1.2.3.xcframework.zip&quot; }"><pre>{ <span class="pl-ent">"1.2.3"</span>: <span class="pl-s"><span class="pl-pds">"</span>https://example.com/releases/MyFramework-v1.2.3.framework.zip?alt=https://example.com/releases/MyFramework-v1.2.3.xcframework.zip<span class="pl-pds">"</span></span> }</pre></div> <p>Older versions of Carthage will request the whole URL and will receive the <em>first</em> framework zip (since HTTP servers ignore unknown query parameters). Starting in 0.38.0, Carthage will parse out any <code>alt</code> URLs and request them as well, using the same naming convention we use for GitHub assets.</p> <p>For optimal backwards compatibility:</p> <ul> <li>Create an upload a framework zip and an xcframework zip, and give them the same basename, i.e. <code>MyFramework-v1.2.3.framework.zip</code> and <code>MyFramework-v1.2.3.xcframework.zip</code>.</li> <li>Publish the binary spec JSON with the framework zip's URL <em>first</em>, followed by an <code>alt=</code> parameter with the xcframework zip's URL.</li> </ul> <details><summary><strong>Example workflow</strong></summary> <p>Suppose we're releasing <code>v1.2.3</code> of a project called <code>MyFramework</code>:</p> <ol> <li> <p>Create an xcframeworks build using --use-xcframeworks:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="carthage build --use-xcframeworks --no-skip-current zip -r MyFramework-v1.2.3.xcframework.zip Carthage/Build"><pre class="notranslate"><code>carthage build --use-xcframeworks --no-skip-current zip -r MyFramework-v1.2.3.xcframework.zip Carthage/Build </code></pre></div> </li> <li> <p>Create a plain frameworks build:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="carthage build --no-skip-current zip -r MyFramework-v1.2.3.framework.zip Carthage/Build"><pre class="notranslate"><code>carthage build --no-skip-current zip -r MyFramework-v1.2.3.framework.zip Carthage/Build </code></pre></div> </li> <li> <p>Upload both archives, <code>MyFramework-v1.2.3.xcframework.zip</code> and <code>MyFramework-v1.2.3.framework.zip</code>.</p> </li> <li> <p>For projects on GitHub, <a href="https://docs.github.com/en/github/administering-a-repository/managing-releases-in-a-repository#creating-a-release">create a release</a> and include both archives.</p> <p>For a binary-only framework, publish a new version to its spec JSON. Point to the xcframework archive using an <code>alt=</code> parameter:</p> <div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{ // ... &quot;1.2.3&quot;: &quot;https://example.com/releases/MyFramework-v1.2.3.framework.zip?alt=https://example.com/releases/MyFramework-v1.2.3.xcframework.zip&quot; }"><pre><span class="pl-kos">{</span> <span class="pl-c">// ...</span> <span class="pl-s">"1.2.3"</span>: <span class="pl-s">"https://example.com/releases/MyFramework-v1.2.3.framework.zip?alt=https://example.com/releases/MyFramework-v1.2.3.xcframework.zip"</span> <span class="pl-kos">}</span></pre></div> </li> </ol> </details> <h3>Prefer building with module stability</h3> <p>Carthage compares the Swift compiler version used to build an XCFramework <a href="https://github.com/Carthage/Carthage#swift-binary-framework-download-compatibility">with the currently selected Swift version</a> — allowing the XCFramework to supercede a local-machine build if the downloaded XCFramework:</p> <ul> <li>contains no bundles with «.swiftmodule»-suffixed files, or</li> <li>any bundle with «.swiftmodule»-suffixed files contains Swift components built under <a href="https://swift.org/blog/library-evolution/" rel="nofollow"><code>BUILD_LIBRARIES_FOR_DISTRIBUTION</code></a> build setting and <a href="https://github.com/Carthage/Carthage/pull/1303" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/1303/hovercard">the current Swift compiler version</a> is greater than 5.1, or</li> <li>any bundle not passing the above was built with <a href="https://github.com/Carthage/Carthage/pull/1303" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/1303/hovercard">the current compiler version</a>.</li> </ul> <p>〜 Carthage falls back to building a dependency from source if the prebuilt version is rejected.<br> 〜 Note: <a href="https://github.com/Carthage/Carthage/releases/tag/0.35.0">see particulars on Carthage’s determining factors for <code>BUILD_LIBRARIES_FOR_DISTRIBUTION</code></a>.</p> <p>✨ This matches Carthage's existing behavior, but is notably different from Swift Package Manager’s behavior, which requires that <em>all</em> XCFrameworks are built for distribution. When you're creating XCFrameworks for a GitHub release, be mindful of this, and consider setting <code>BUILD_LIBRARIES_FOR_DISTRIBUTION=YES</code> in your project. Future versions of Carthage's <code>archive</code> command may encourage this setting.</p> <p>If you choose to publish an XCFramework <em>without</em> module stability (a.k.a. <a href="https://swift.org/blog/library-evolution/" rel="nofollow"><code>BUILD_LIBRARIES_FOR_DISTRIBUTION</code></a> build setting) enabled, consider a naming convention like <code>*-carthage-abi-unstable.xcframework</code> to indicate this to your users.</p> elliottwilliams tag:github.com,2008:Repository/25050844/0.37.0 2021-02-01T17:17:23Z 0.37.0 — Architectural Alchemy <p><strong>Fixed</strong></p> <ul> <li>Building a framework using Xcode 12 fails with a build error from <code>xcrun lipo</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="664185584" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3019" data-hovercard-type="issue" data-hovercard-url="/Carthage/Carthage/issues/3019/hovercard" href="https://github.com/Carthage/Carthage/issues/3019">#3019</a>). Fix by passing <code>--use-xcframeworks</code> and <a href="https://github.com/Carthage/Carthage#migrating-a-project-from-framework-bundles-to-xcframeworks">re-integrating your dependencies as XCFrameworks</a>, or by using a <a href="https://github.com/Carthage/Carthage/blob/master/Documentation/Xcode12Workaround.md">workaround xcconfig on Intel-based Macs</a>.</li> </ul> <p><strong>Added</strong></p> <ul> <li> <p>Carthage produces XCFrameworks instead of universal frameworks when <code>--use-xcframeworks</code> is passed. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="718693839" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3071" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3071/hovercard" href="https://github.com/Carthage/Carthage/pull/3071">#3071</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/elliottwilliams/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/elliottwilliams">@elliottwilliams</a>!</p> <p>XCFrameworks contain multiple discrete framework bundles. Unlike universal frameworks (produced by <code>lipo</code>), an XCFramework can contain multiple versions of a framework which share the same processor architecture. Since Xcode 12 added Apple Silicon support to its simulator platforms, the device and simulator versions of a framework both build for <code>arm64</code>, hence requiring an XCFramework.</p> <p>To build XCFrameworks into your app, <strong>run Carthage with <code>--use-xcframeworks</code> and drag the produced XCFrameworks into your Xcode target’s <em>Embedded binaries</em> section</strong>, <em>without</em> using a <code>carthage copy-frameworks</code> script phase. ﹡See the README﹡ for <a href="https://github.com/Carthage/Carthage#migrating-a-project-from-framework-bundles-to-xcframeworks">information on how to upgrade to XCFrameworks</a>.</p> <p>XCFrameworks are the only supported way to build Carthage frameworks for Apple Silicon-based Macs.</p> </li> </ul> <p><strong>Known issues</strong></p> <ul> <li><code>--use-xcframeworks</code> does not produce an XCFramework for <code>github</code> dependencies which download binaries. <ul> <li>Workaround: Pass <code>--no-use-binaries</code> to make Carthage rebuild the dependency from source, which will produce an XCFramework.</li> </ul> </li> <li><code>carthage archive</code> does not archive built XCFrameworks, and <code>--use-xcframeworks</code> does not produce an xcframework for <a href="https://github.com/Carthage/Carthage/blob/0.36.1/Documentation/Artifacts.md#binary-only-frameworks"><code>binary</code> dependencies</a>. <ul> <li>Support for binary xcframeworks will be added in a future release. For now, continue integrating <a href="https://github.com/Carthage/Carthage/blob/0.36.1/Documentation/Artifacts.md#binary-only-frameworks"><code>binary</code> dependencies</a> using the strategy of <a href="https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos">platform-specific frameworks</a>.</li> </ul> </li> </ul> <p><strong>Notes</strong></p> <p>Under <code>--use-xcframeworks</code>, Carthage aims to accommodate something long relied upon: targets that 〈think about targets such as your dependencies ⋯ subdependencies ⋯ dependencies vended by others〉 …that link against «.framework»s in the directory of <code>Carthage/Build</code> ﹡as opposed to linking against «.framework»s in <a href="https://gist.github.com/NSExceptional/2cd98300f7297b75d7b2d929effa2f15#per-configuration-build-products-path-configuration_build_dir">Per-configuration Build Products Path (<code>CONFIGURATION_BUILD_DIR</code>)</a>.﹡</p> <p>Such targets will see Carthage extract — for each platform the target builds for — such-platform’s «.framework» bundles from all XCFrameworks, copying them into a temporary directory, and then — via build setting injection into <a href="https://gist.github.com/NSExceptional/2cd98300f7297b75d7b2d929effa2f15#framework-search-paths-framework_search_paths"><code>FRAMEWORK_SEARCH_PATHS</code></a> — allowing the xcodebuild run an at-the-end-of-<a href="https://gist.github.com/NSExceptional/2cd98300f7297b75d7b2d929effa2f15#framework-search-paths-framework_search_paths"><code>FRAMEWORK_SEARCH_PATHS</code></a> opportunity to link those extracted-into-temporary-directory «.framework»s (and fulfill a successful compilation).</p> <details> <summary><em>Well, to be more precise…</em></summary> <p>〜 Well, to be more precise, any scheme where the Carthage-focused target with build setting value for <a href="https://gist.github.com/NSExceptional/2cd98300f7297b75d7b2d929effa2f15#framework-search-paths-framework_search_paths"><code>FRAMEWORK_SEARCH_PATHS</code></a> specifically containing a subdirectory of <code>Carthage/Build</code> will have the at-the-end-of-<a href="https://gist.github.com/NSExceptional/2cd98300f7297b75d7b2d929effa2f15#framework-search-paths-framework_search_paths"><code>FRAMEWORK_SEARCH_PATHS</code></a> opportunity.</p> </details> <p>This behavior works for framework targets in most cases, since they link against but generally do not embed their framework dependencies, but requires changes if any part of a target’s build process requires the <em>exact path</em> of the framework bundle. If you (<em>or developers consuming your framework</em>) encounter build errors when using <code>carthage build --use-xcframeworks</code>, you have a few options:</p> <ul> <li>Update your project to link and embed XCFrameworks from <code>Carthage/Build</code>, then read the extracted framework from <a href="https://gist.github.com/NSExceptional/2cd98300f7297b75d7b2d929effa2f15#per-configuration-build-products-path-configuration_build_dir"><code>CONFIGURATION_BUILD_DIR</code></a>. You won’t rely on the above ‘at-the-end-of-FRAMEWORK_SEARCH_PATHS opportunity’ behavior, but ﹡you will break compatibility with users who <em>aren’t</em> using the <code>--use-xcframeworks</code> flag﹡, so consider other options, proceed with caution, and consider versioning this as a breaking change.</li> <li>If Carthage fails while building a scheme that contains non-framework targets, break it up into multiple schemes, so that Carthage only builds the framework targets.</li> <li>Modify your build phases to parse the <a href="https://gist.github.com/NSExceptional/2cd98300f7297b75d7b2d929effa2f15#framework-search-paths-framework_search_paths"><code>FRAMEWORK_SEARCH_PATHS</code></a> build setting and search each directory in order to find a Carthage framework, rather than hard-coding its path to a <code>Carthage/Build/&lt;platform&gt;</code> directory.</li> </ul> <details> <summary><em>If you’re struggling to figure out how Carthage focuses on a target…</em></summary> <p>〜 If you’re struggling to figure out how Carthage focuses on a target within a Xcode project/workspace within a repo and subsequently widens out to choose a scheme based on that, head to <a href="https://github.com/Carthage/Carthage/issues/new">https://github.com/Carthage/Carthage/issues/new</a> and attach the label «focused-target» or just mention «focused-target» in the issue’s body text; please make the body text detailed, and priority will be given to issues regarding open source repositories.</p> </details> <p><strong>Acknowledgements</strong></p> <p>Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/olejnjak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/olejnjak">@olejnjak</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/philipphofmann/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/philipphofmann">@philipphofmann</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daisuke-t-jp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daisuke-t-jp">@daisuke-t-jp</a> for their work on documenting the xcconfig workaround. More broadly, we appreciate the community of users who communicated about the problem, came up with a temporary workaround, and were patient while we architected a fix.</p> <p>Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmspzz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmspzz">@tmspzz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gjeck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gjeck">@gjeck</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nighthawk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nighthawk">@nighthawk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chrisballinger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chrisballinger">@chrisballinger</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renep">@renep</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/elliottwilliams/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/elliottwilliams">@elliottwilliams</a> for their work reviewing pull requests.</p> elliottwilliams tag:github.com,2008:Repository/25050844/0.36.1 2021-01-14T20:07:48Z 0.36.1 — Workspace Well-Being <p>ℹ️ This is a maintenance release to support integrating frameworks on Xcode 12.3 and above.</p> <p>ℹ️ This release <strong>does not</strong> include forthcoming support for building XCFrameworks. Expect XCFrameworks in the next release, 0.37.0.</p> <p><strong>Fixed</strong></p> <ul> <li><code>carthage build</code> disables a validation added in Xcode 12.3 which prevents some Carthage-built frameworks from being embedded (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="771132058" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3095" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3095/hovercard" href="https://github.com/Carthage/Carthage/pull/3095">#3095</a>). <ul> <li>Xcode 12.3 warns when a target embeds framework with slices labeled for multiple platforms (even when the slices are all housed under different architectures); except, <em>some</em> slight sets of platform pairs are permitted. Typically, Carthage's multi-arch frameworks are stripped at build time using <code>carthage copy-frameworks</code>, but they may be copied whole in <a href="https://github.com/Carthage/Carthage#adding-frameworks-to-unit-tests-or-a-framework">test targets</a> and other rare circumstances.</li> <li>When warnings-as-errors is enabled, this validation warning may fail the build. Carthage disables it internally by setting <code>VALIDATE_WORKSPACE=NO</code>.</li> <li>If you see an error like <code>Building for iOS Simulator, but the linked and embedded framework 'REDACTED.framework' was built for iOS + iOS Simulator</code>, set VALIDATE_WORKSPACE=NO in your project's build settings.</li> </ul> </li> <li>Fixed <a href="https://github.com/Carthage/Carthage/issues/3056" data-hovercard-type="issue" data-hovercard-url="/Carthage/Carthage/issues/3056/hovercard">carthage creating too many tempoary directories during <code>copy-frameworks</code> phase</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="716884152" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3066" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3066/hovercard" href="https://github.com/Carthage/Carthage/pull/3066">#3066</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmspzz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmspzz">@tmspzz</a></li> </ul> <p>Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/olejnjak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/olejnjak">@olejnjak</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/philipphofmann/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/philipphofmann">@philipphofmann</a> for improving the documentation since the last release.</p> <p><strong>Note</strong></p> <details> <summary>Xcode (at the era of 12.3) does very little when Validate Workspace is enabled. If truly encompassing this facet is important to you…</summary> …try copying a Carthage Checkouts/Build directory to another location, editing Xcode projects to remove any targets that (aside from through `carthage copy-frameworks`) embed Carthage-built things, and copy the xcodebuild invocation from a run of `carthage … --verbose` and modify-it, removing VALIDATE_WORKSPACE=NO. </details> elliottwilliams tag:github.com,2008:Repository/25050844/0.36.0 2020-09-18T07:58:43Z 0.36.0 - Portuguese Pastel <h2><g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> This version doesn't fix the issue with Xcode 12. See <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="664185584" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3019" data-hovercard-type="issue" data-hovercard-url="/Carthage/Carthage/issues/3019/hovercard" href="https://github.com/Carthage/Carthage/issues/3019">#3019</a> <g-emoji class="g-emoji" alias="warning">⚠️</g-emoji></h2> <p><strong>Fixed</strong></p> <ul> <li>Prevent cross device issues in <code>copy-frameworks</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="703954908" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3047" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3047/hovercard" href="https://github.com/Carthage/Carthage/pull/3047">#3047</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rudedogdhc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rudedogdhc">@rudedogdhc</a>!</li> </ul> <p>Thank you to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nixnoughtnothing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nixnoughtnothing">@nixnoughtnothing</a> for improvements to the code base! Thank you to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmspzz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmspzz">@tmspzz</a> for reviewing pull requests!</p> tmspzz tag:github.com,2008:Repository/25050844/0.35.1 2020-09-17T06:05:24Z 0.35.1 - Continuous Commitment <h2><g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> This version doesn't fix the issue with Xcode 12. See <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="664185584" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3019" data-hovercard-type="issue" data-hovercard-url="/Carthage/Carthage/issues/3019/hovercard" href="https://github.com/Carthage/Carthage/issues/3019">#3019</a> <g-emoji class="g-emoji" alias="warning">⚠️</g-emoji></h2> <p><strong>Fixed</strong></p> <ul> <li>Fixed copying files across different volumes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="670093117" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3025" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3025/hovercard" href="https://github.com/Carthage/Carthage/pull/3025">#3025</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rudedogdhc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rudedogdhc">@rudedogdhc</a>!</li> </ul> <p><strong>Added</strong></p> <ul> <li>Sort frameworks so changes in .version files are easier to spot (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="662050469" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3015" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3015/hovercard" href="https://github.com/Carthage/Carthage/pull/3015">#3015</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/peteranny/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/peteranny">@peteranny</a>!</li> <li>Support <code>NO_PROXY</code> or <code>no_proxy</code> environment variable (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="624267854" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2991" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2991/hovercard" href="https://github.com/Carthage/Carthage/pull/2991">#2991</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/okaverin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/okaverin">@okaverin</a>!</li> <li>Prevent re-downloading module stable binaries (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="691518880" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3040" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3040/hovercard" href="https://github.com/Carthage/Carthage/pull/3040">#3040</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justAnotherDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justAnotherDev">@justAnotherDev</a>!</li> <li>Remove leftovers of failed archives unzips (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="684683334" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3035" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3035/hovercard" href="https://github.com/Carthage/Carthage/pull/3035">#3035</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tattn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tattn">@tattn</a>!</li> </ul> <p><strong>Improved</strong></p> <ul> <li>Spelling mistakes in README (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="665539655" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3021" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3021/hovercard" href="https://github.com/Carthage/Carthage/pull/3021">#3021</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thomasaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thomasaw">@thomasaw</a>!</li> <li>Reflect carthage build requirements in README (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="700396931" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3045" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3045/hovercard" href="https://github.com/Carthage/Carthage/pull/3045">#3045</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chrstphrchvz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chrstphrchvz">@chrstphrchvz</a>!</li> <li>Installing carthage outside of protected folders no longer requires <code>sudo</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="668616168" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/3024" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3024/hovercard" href="https://github.com/Carthage/Carthage/pull/3024">#3024</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cfelder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cfelder">@cfelder</a>!</li> <li>Remove invalid archs by intersecting VALID_ARCHS and ARCHS (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="618334818" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2987" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2987/hovercard" href="https://github.com/Carthage/Carthage/pull/2987">#2987</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jerbob92/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jerbob92">@jerbob92</a>!</li> </ul> <p>Thank you to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jdhealy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jdhealy">@jdhealy</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmspzz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmspzz">@tmspzz</a> for reviewing pull requests!</p> tmspzz tag:github.com,2008:Repository/25050844/0.35.0 2020-06-18T21:25:40Z 0.35.0 - Carrageenan Cabaletta <p>Carthage now elides a <a href="https://github.com/Carthage/Carthage/blob/0.34.0/Source/CarthageKit/SwiftVersionError.swift#L25">certain warning</a> about Swift compiler versions upon truths from three sources:</p> <ul> <li>Swift compiler version (as queried by local machine’s <code>xcode-select</code> and possible <code>TOOLCHAINS</code> environment variable) being greater than 5.1</li> <li>that particular framework’s recorded Swift compiler being greater than 5.1</li> <li>that particular framework matching (somewhat) a <a href="https://en.wikipedia.org/wiki/Glob_(programming)#Syntax" rel="nofollow">glob</a> (working from framework-bundle-root–level) of <code>Modules/*swiftmodule*/*.swiftinterface</code> <ul> <li>note: only one directory matching <code>Modules/*swiftmodule*/</code> will continue querying inside of it — with <code>FileManager.default.contentsOfDirectory</code> defining that</li> <li>note: presence of particular architectures (armv7, i386, x86_64, etc.) are <strong>not</strong> taken into account</li> </ul> </li> </ul> <p><strong>Note</strong>: As <code>.swiftinterface</code> files emission <a href="https://swift.org/blog/library-evolution/index.html" rel="nofollow">“currently [as of Swift 5.X] requires library evolution support”</a> — take warning of the Swift Compiler Team’s message that <a href="https://swift.org/blog/library-evolution/index.html" rel="nofollow">“Library evolution trades off performance for flexibility”</a> and <a href="https://swift.org/blog/library-evolution/index.html#interaction-with--enable-testing" rel="nofollow">comes with caveats</a>. • <g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> Not every library vendor will desire to enable <code>BUILD_LIBRARY_FOR_DISTRIBUTION</code> in their project’s build settings, or even to field questions on bugs resulting from those adding that scope. <em>Be kind</em> to library vendors that might weigh their potential maintenance/ongoing-qa-debugging work differently then your <code>BUILD_LIBRARY_FOR_DISTRIBUTION</code> desires.</p> <p>〜 Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DavidBrunow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DavidBrunow">@DavidBrunow</a> for this feature!</p> <p><strong>Dynamic Intelligent Platform Parsing</strong></p> <p>Previously, Carthage would propagate errors upon reading non-compiled-in values from <code>SUPPORTED_PLATFORMS</code> or <code>PLATFORM_NAME</code>.</p> <p>Carthage 0.35.0 <a href="https://github.com/Carthage/Carthage/pull/3001" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/3001/hovercard">supports <code>SUPPORTED_PLATFORMS</code> or <code>PLATFORM_NAME</code> dynamically with intelligent parsing from <code>xcodebuild -showsdks -json</code>.</a></p> <p>Carthage’s <a href="https://github.com/Carthage/Carthage/commit/68d77602ac11e27f753450638527f6ea2a6bce85#diff-908d3140eab5f48b3e5f926de743ef52R232-R246"><code>--platform</code> argument</a> takes the same input of 2019-era SDKs — however, in alignment with the above: the default (a.k.a. “all”) parameter will allow dynamically-parsed SDKs to propagate.</p> <p><code>carthage archive</code> <a href="https://github.com/Carthage/Carthage/commit/68d77602ac11e27f753450638527f6ea2a6bce85#diff-db6bc809697a7fc656230029d748c3feR73-R76">still uses the hardcoded four 2019-era SDKs</a>.</p> <p>The <code>carthage cleanup</code> command — existing on-master, but unshipped-in-tags — no longer makes sense (when set of SDKs are non-fixed across Xcode versions) and has been removed.</p> <p>Dynamic Platform Parsing can occur <a href="https://github.com/Carthage/Carthage/commit/68d77602ac11e27f753450638527f6ea2a6bce85#diff-bcd3b8bafc84006ccb8b16295b6707b0R139-R200">from <code>xcodebuild -showsdks -json</code></a> with fallbacks to <a href="https://github.com/Carthage/Carthage/commit/68d77602ac11e27f753450638527f6ea2a6bce85#diff-2c8b811867554fe0cd24adead2bd16daR326-R368"><code>BuildSetting</code> extraction from a Xcode-bundled <code>xcodeproj</code></a>, and beyond that <a href="https://github.com/Carthage/Carthage/commit/68d77602ac11e27f753450638527f6ea2a6bce85#diff-2c8b811867554fe0cd24adead2bd16daR380">falling back to hardcoded 2019-era values</a>.</p> <p><g-emoji class="g-emoji" alias="arrow_heading_down">⤵️</g-emoji> <strong>Note</strong>: <em>the dynamic parsing <strong>will</strong> omit SDKs — such as DriverKit — where JSON-derived <code>canonicalName</code> and <code>platform</code> do not share a common prefix · DriverKit has an ouptut <code>canonicalName</code> similar to «driverkit.macosx19.0».</em></p> <p><strong>Other Breaking Changes</strong></p> <ul> <li><a href="https://github.com/Carthage/Carthage/pull/2900" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2900/hovercard">Track static frameworks in <code>.version</code> files</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/elliottwilliams/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/elliottwilliams">@elliottwilliams</a>! <ul> <li>Old carthage versions will still behave erroneous — but not propagate errors — after parsing sets of newer <code>.version</code> files output for Swift static frameworks.</li> <li>To guarantee output of newer <code>.version</code> files for affected Swift static frameworks, change Swift versions and rerun Carthage with the <code>--cache-builds</code> flag (even temporarily), or delete <code>.framework</code> bundles for affected Swift static ones and rerun Carthage with the <code>--cache-builds</code> flag.</li> </ul> </li> <li><a href="https://github.com/Carthage/Carthage/pull/2877" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2877/hovercard">For GitHub Release assets, expand permitted MIME types to include <code>application/x-zip-compressed</code></a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MatkovIvan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MatkovIvan">@MatkovIvan</a>!</li> <li><a href="https://github.com/Carthage/Carthage/pull/2765" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2765/hovercard">Reject invalid</a> <a href="https://github.com/Carthage/Carthage/pull/2791" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2791/hovercard">binary archives containing the same framework multiple times</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmspzz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmspzz">@tmspzz</a>!</li> <li><a href="https://github.com/Carthage/Carthage/pull/2776" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2776/hovercard">For binary-spec-ed dependencies and GitHub Release downloads, copy dSYMs if any architecture matches current binary — also affects CarthageKit consumers</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hlineholm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hlineholm">@hlineholm</a>!</li> <li><a href="https://github.com/Carthage/Carthage/pull/2796" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2796/hovercard">Conflict less in concurrent strip-framework–dedicated Carthage process invocations via different underlying copying</a> — <a href="https://github.com/Carthage/Carthage/pull/2809" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2809/hovercard">rather than overwrite straight from process, now temp directory usage prevents conflicts on certain same-file/same-path writes</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kalkwarf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kalkwarf">@kalkwarf</a>!</li> <li><a href="https://github.com/Carthage/Carthage/pull/2865" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2865/hovercard">Fallback to dSYM version parsing for more cases before invalidating cached builds</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kmcbride/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kmcbride">@kmcbride</a>!</li> <li><a href="https://github.com/Carthage/Carthage/pull/2774" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2774/hovercard">Add <code>--use-netrc</code> flag</a> under which <a href="https://github.com/Carthage/Carthage/blob/f94766acc9bee35e295eea03c282472c49f49800/Tests/CarthageKitTests/NetrcSpec.swift">basic <code>~/.netrc</code> files</a> facilitate <a href="https://github.com/Carthage/Carthage/blob/f656edfe35651b54eec50d814e79d079f8eea7c4/Documentation/Artifacts.md#binary-only-frameworks"><code>binary</code>-specified framework download</a> authentication. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mollyIV/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mollyIV">@mollyIV</a>!</li> </ul> <p><strong>Stability</strong></p> <ul> <li><a href="https://github.com/Carthage/Carthage/pull/2908" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2908/hovercard">Fix various cases of «Segmentation Fault 11»</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/taisukeh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/taisukeh">@taisukeh</a>!</li> <li><a href="https://github.com/Carthage/Carthage/pull/2917" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2917/hovercard">Extend error messages when reading certain binaries</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hlineholm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hlineholm">@hlineholm</a>!</li> </ul> <p><strong>Security Enhancing Breaking Change</strong></p> <ul> <li><a href="https://github.com/Carthage/Carthage/search?q=%22prevent+directory+traversal%22&amp;type=Commits">Prevent directory traversal through additional sanitization of <code>git</code>-specified repository URL components — specifically nul characters (<code>\u{0000}</code>) and periods (<code>\u{0023}</code>)</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/manicmaniac/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/manicmaniac">@manicmaniac</a>! <ul> <li>Replacement strings include repeated «Full Width Full Stops» (<code>\u{FF0E}</code>) and replacement <code>␀</code> (<code>\u{2400}</code>).</li> <li>URL components not starting with periods (<code>\u{0023}</code>) <em>will not</em> see inserted «Full Width Full Stops» (<code>\u{FF0E}</code>).</li> </ul> </li> </ul> <p><strong>Breaking — For Apps Importing Carthage Kit and XCDBLD</strong></p> <details><summary>For Apps Importing Carthage Kit and XCDBLD</summary><br> <ul> <li>Removed: <code>XCDBLD.Platform</code> — replaced (not one-for-one) by <code>struct SDK</code> with new method <code>SDK.platformSimulatorlessFromHeuristic</code>.</li> <li>Removed: <code>XCDBLD</code>’s enum-based <code>SDK</code> — replaced by <code>struct SDK</code>.</li> <li>Removed: <code>XCDBLD.SDK.platform</code> and <code>XCDBLD.SDK.allSDKs</code>.</li> <li>Changed: Hashing and equality for <code>XCDBLD.SDK</code> is case-insensitive. <ul> <li>Canonical casing for SDK names available through <code>SDK.knownIn2019YearSDKs</code> and <code>SDK.setFromJSONShowSDKs</code>.</li> </ul> </li> <li>Changed: Various type signature changes <a href="https://github.com/Carthage/Carthage/commit/68d77602ac11e27f753450638527f6ea2a6bce85">removing <code>XCDBLD.Platform</code> and incorporating <code>XCDBLD.SDK</code></a>.</li> <li>Removed: <code>SDK.from(string:)</code> — replaced by <code>SDK.init(name:simulatorHeuristic)</code>. <ul> <li>Passing an empty string as <code>simulatorHeuristic</code> is usually the foremost codepath.</li> <li>SDK.init(rawValue:) is <strong>not intended</strong> for wide spread use · as it’s limited to only 2019-era hardcoded SDKs.</li> </ul> </li> <li>Removed: <code>BuildSettings.buildSDKs: SignalProducer&lt;SDK, CarthageError&gt;</code> — replaced with <code>BuildSettings.buildSDKRawNames: Set&lt;String&gt;</code>.</li> <li>Made Public: Various <a href="https://github.com/Carthage/Carthage/pull/2931" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2931/hovercard"><code>VersionFile</code>-related API</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/acecilia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/acecilia">@acecilia</a>!</li> </ul> </details> <p><strong>Thanks to all Contributors</strong></p> <p>Thank you to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CosynPa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CosynPa">@CosynPa</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sidepelican/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sidepelican">@sidepelican</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chuganzy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chuganzy">@chuganzy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sstadelman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sstadelman">@sstadelman</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="440214649" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2781" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2781/hovercard" href="https://github.com/Carthage/Carthage/pull/2781">#2781</a>), <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giginet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giginet">@giginet</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="430112731" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2761" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2761/hovercard" href="https://github.com/Carthage/Carthage/pull/2761">#2761</a>), <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ikesyo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ikesyo">@ikesyo</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="501853076" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2886" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2886/hovercard" href="https://github.com/Carthage/Carthage/pull/2886">#2886</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="443444714" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2785" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2785/hovercard" href="https://github.com/Carthage/Carthage/pull/2785">#2785</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="443437964" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2784" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2784/hovercard" href="https://github.com/Carthage/Carthage/pull/2784">#2784</a>), <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DavidBrunow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DavidBrunow">@DavidBrunow</a> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="598088872" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2966" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2966/hovercard" href="https://github.com/Carthage/Carthage/pull/2966">#2966</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="598112513" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2967" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2967/hovercard" href="https://github.com/Carthage/Carthage/pull/2967">#2967</a>), <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mvalentiner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mvalentiner">@mvalentiner</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gubikmic/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gubikmic">@gubikmic</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sticksen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sticksen">@sticksen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nteissler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nteissler">@nteissler</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ismetanin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ismetanin">@ismetanin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brandonlee503/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brandonlee503">@brandonlee503</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yhkaplan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yhkaplan">@yhkaplan</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmspzz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmspzz">@tmspzz</a> for improvements to the codebase, tests, and documentation.</p> jdhealy tag:github.com,2008:Repository/25050844/0.34.0 2019-10-21T17:43:58Z 0.34.0 - Barometric Ballasting <p><strong><g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> Carthage source only builds on Xcode 10.0+, thus requiring <a href="https://support.apple.com/en-us/HT208864" rel="nofollow">macOS High Sierra 10.13.6</a>. <g-emoji class="g-emoji" alias="warning">⚠️</g-emoji></strong></p> <p>Additional workarounds to enable Xcode 11.0, 11.1, and 11.2 betas have been added; see below.</p> <p><strong>Fixed</strong></p> <ul> <li>ASCII alphabet for Semantic Version <a href="https://semver.org/#spec-item-9" rel="nofollow">pre-release</a> and <a href="https://semver.org/#spec-item-10" rel="nofollow">build metadata</a> components <a href="https://github.com/Carthage/Carthage/pull/2806/files#diff-aa0796654f69d3d5ad0a58b156377953R37">now includes uppercase and lowercase W</a>, fixing an omission and completing the alphabet (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="453434378" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2805" data-hovercard-type="issue" data-hovercard-url="/Carthage/Carthage/issues/2805/hovercard" href="https://github.com/Carthage/Carthage/issues/2805">#2805</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="453439449" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2806" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2806/hovercard" href="https://github.com/Carthage/Carthage/pull/2806">#2806</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drakerr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drakerr">@drakerr</a>!</li> <li>Workaround Swift 5.1 compiler crash bug to allow the compilation of Carthage itself on Xcode 11, Xcode 11.1, and Xcode 11.2 betas (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="490045560" data-permission-text="Title is private" data-url="https://github.com/Carthage/Carthage/issues/2859" data-hovercard-type="pull_request" data-hovercard-url="/Carthage/Carthage/pull/2859/hovercard" href="https://github.com/Carthage/Carthage/pull/2859">#2859</a>). Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/michaelmcguire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/michaelmcguire">@michaelmcguire</a>!</li> </ul> <p><strong>Breaking — For Apps Importing Carthage Kit</strong></p> <details><summary>Removed — as a library dependency — <code>SwiftPM</code> and <code>llbuild</code> and reinstated <code>struct CarthageKit.SemanticVersion</code>.</summary> <p><br>A <a href="https://github.com/apple/swift-package-manager/pull/2197" data-hovercard-type="pull_request" data-hovercard-url="/swiftlang/swift-package-manager/pull/2197/hovercard">bug in the-tool-SwiftPM's package resolution</a> resulted in disregard for the (crucial) ‘resolved file’ when resolving branch-based dependencies.</p> <p>Which would put us in the position of needing any commit of <code>apple/swift-package-manager</code> that didn’t specify its dependency on <code>apple/swift-llbuild</code> in the branch-based style.</p> <p>Also criteria for the above, working Swift 4.2.X manifests and compilation <em>and</em> working Swift 5.X manifests and compilation.</p> <p>No such commit of <code>apple/swift-package-manager</code> could be found.</p> <p>In addition, some confusion <a href="https://github.com/apple/swift-llbuild/commit/f1c9ad9a253cdf1aa89a7f5c99c30b4513b06ddb#diff-37ca2dd15ca0f6b1b49e78db084ef5b9L5-L10">around <code>llbuild</code>'s <code>sqlite3</code></a> linkage made criteria even more confusing.</p> <ul> <li>Some initializers and methods on <code>struct Carthage.SemanticVersion</code> have differences from the previous incarnation found in v0.33.0.</li> <li>Reinstate <code>struct CarthageKit.SemanticVersion</code> in all callsites in codebase and tests, removing <code>SPMUtility.Version</code>.</li> <li>No longer necessary to <code>import struct Foundation.URL</code> with the removed import of SPMUtility.</li> <li>Makefile removes complications which previously supported <code>llbuild</code>'s <code>sqlite3</code> linkage.</li> <li>Working Swift 4.2.X compilation is <a href="https://github.com/Homebrew/brew/blob/7dd0466/Library/Homebrew/os/mac/xcode.rb#L18">necessary to support building</a> for <a href="https://en.wikipedia.org/wiki/MacOS_High_Sierra" rel="nofollow">macOS High Sierra</a> on Homebrew bottling infrastructure.</li> </ul> </details> <p><strong>Important</strong></p> <p>Future updates will address Catalyst and building of XCFrameworks. Thank you for your patience.</p> <p>Thank you to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jdhealy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jdhealy">@jdhealy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sstadelman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sstadelman">@sstadelman</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmspzz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmspzz">@tmspzz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giginet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giginet">@giginet</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/olejnjak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/olejnjak">@olejnjak</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ikesyo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ikesyo">@ikesyo</a> for improvements to the codebase and the infrastructure.</p> <p>Thank you to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mdiep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mdiep">@mdiep</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmspzz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmspzz">@tmspzz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giginet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giginet">@giginet</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ikesyo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ikesyo">@ikesyo</a> for reviewing pull requests!</p> jdhealy