<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">


<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8" class="">

<div class="">
<div style="font-family:sans-serif" class=""><div style="white-space:normal" class=""><p dir="auto" style="font-size: 14px;" class="">Hi everyone,</p><p dir="auto" style="font-size: 14px;" class="">With feedback from swift-evolution and additional internal review, we've pushed updates to this proposal, and to the <a href="https://github.com/apple/swift-evolution/pull/640" style="color:#3983C4" class="">Swift Encoders</a> proposal.<br class="">
In the interest of not blowing up mail clients with the full HTML again, I'll simply be linking to the <a href="https://github.com/apple/swift-evolution/pull/639" style="color:#3983C4" class="">swift-evolution PR here</a>, as well as the <a href="https://github.com/apple/swift-evolution/pull/639/commits/d619eef9166f8b45ffac152d06376cbdab536241" style="color:#3983C4" class="">specific diff</a> of what's changed.</p><p dir="auto" style="font-size: 14px;" class="">At a high level:</p>

<ul style="font-size: 14px;" class="">
<li class="">The <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">Codable</code> protocol has been split up into <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">Encodable</code> and <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">Decodable</code></li>
<li class="">String keys on <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">CodingKey</code> are no longer optional</li>
<li class=""><code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">KeyedEncodingContainer</code> has become <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">KeyedEncodingContainerProtocol</code>, with a concrete type-erased <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">KeyedEncodingContainer</code> struct to hold it</li>
<li class="">Array responsibilities have been removed from <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">KeyedEncodingContainer</code>, and have been added to a new <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">UnkeyedEncodingContainer</code> type</li>
<li class=""><code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">codingKeyContext</code> has been renamed <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7" class="">codingPath</code></li>
</ul><p dir="auto" style="font-size: 14px;" class="">There are some specific changes inline — I know it might be a bit of a pain, but let's keep discussion here on the mailing list instead of on GitHub.<br class="">
We'll be looking to start the official review process very soon, so we're interested in any additional feedback.</p><p dir="auto" style="font-size: 14px;" class="">Thanks!</p><p dir="auto" style="font-size: 14px;" class="">— Itai</p>
</div>
</div>
</div>

</body></html>