diff --git a/SessionMessagingKit/Messages/Visible Message/VisibleMessage+Contact.swift b/SessionMessagingKit/Messages/Visible Message/VisibleMessage+Contact.swift
index 548070cec..d89865981 100644
--- a/SessionMessagingKit/Messages/Visible Message/VisibleMessage+Contact.swift	
+++ b/SessionMessagingKit/Messages/Visible Message/VisibleMessage+Contact.swift	
@@ -4,12 +4,8 @@ public extension VisibleMessage {
     @objc(SNContact)
     class Contact : NSObject, NSCoding {
 
-        public required init?(coder: NSCoder) {
-            fatalError("Not implemented.")
-        }
+        public required init?(coder: NSCoder) { }
 
-        public func encode(with coder: NSCoder) {
-            fatalError("Not implemented.")
-        }
+        public func encode(with coder: NSCoder) { }
     }
 }
diff --git a/SessionMessagingKit/Messages/Visible Message/VisibleMessage+LinkPreview.swift b/SessionMessagingKit/Messages/Visible Message/VisibleMessage+LinkPreview.swift
index 68c931510..072978b03 100644
--- a/SessionMessagingKit/Messages/Visible Message/VisibleMessage+LinkPreview.swift	
+++ b/SessionMessagingKit/Messages/Visible Message/VisibleMessage+LinkPreview.swift	
@@ -1,15 +1,46 @@
+import SessionUtilities
 
 public extension VisibleMessage {
 
     @objc(SNLinkPreview)
     class LinkPreview : NSObject, NSCoding {
+        public var title: String?
+        public var url: String?
+
+        internal init(title: String, url: String) {
+            self.title = title
+            self.url = url
+        }
 
         public required init?(coder: NSCoder) {
-            fatalError("Not implemented.")
+            if let title = coder.decodeObject(forKey: "title") as! String? { self.title = title }
+            if let url = coder.decodeObject(forKey: "url") as! String? { self.url = url }
         }
 
         public func encode(with coder: NSCoder) {
-            fatalError("Not implemented.")
+            coder.encode(title, forKey: "title")
+            coder.encode(url, forKey: "url")
+        }
+
+        public static func fromProto(_ proto: SNProtoDataMessagePreview) -> LinkPreview? {
+            guard let title = proto.title else { return nil }
+            let url = proto.url
+            return LinkPreview(title: title, url: url)
+        }
+
+        public func toProto() -> SNProtoDataMessagePreview? {
+            guard let title = title, let url = url else {
+                SNLog("Couldn't construct link preview proto from: \(self).")
+                return nil
+            }
+            let linkPreviewProto = SNProtoDataMessagePreview.builder(url: url)
+            linkPreviewProto.setTitle(title)
+            do {
+                return try linkPreviewProto.build()
+            } catch {
+                SNLog("Couldn't construct link preview proto from: \(self).")
+                return nil
+            }
         }
     }
 }
diff --git a/SessionMessagingKit/Pipelines/ReceivingPipeline.swift b/SessionMessagingKit/Pipelines/ReceivingPipeline.swift
index 79a4fc21e..8be3cfc41 100644
--- a/SessionMessagingKit/Pipelines/ReceivingPipeline.swift
+++ b/SessionMessagingKit/Pipelines/ReceivingPipeline.swift
@@ -3,7 +3,8 @@ import SessionUtilities
 public enum ReceivingPipeline {
 
     public static func parse(_ data: Data) -> Message? {
-        // TODO: Decrypt
+        // TODO: Decryption
+        // TODO: Validation
         let proto: SNProtoContent
         do {
             proto = try SNProtoContent.parseData(data)
diff --git a/SessionMessagingKit/Pipelines/SendingPipeline.swift b/SessionMessagingKit/Pipelines/SendingPipeline.swift
index 108f857ca..857ec2ca3 100644
--- a/SessionMessagingKit/Pipelines/SendingPipeline.swift
+++ b/SessionMessagingKit/Pipelines/SendingPipeline.swift
@@ -34,6 +34,7 @@ public enum SendingPipeline {
             return Promise(error: Error.protoSerializationFailed)
         }
         // TODO: Encryption
+        // TODO: Validation
         let recipient = ""
         let base64EncodedData = data.base64EncodedString()
         let ttl: UInt64 = 2 * 24 * 60 * 60 * 1000
diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist
index f77e55a0b..7b69a02fd 100644
--- a/Signal/Signal-Info.plist
+++ b/Signal/Signal-Info.plist
@@ -6,10 +6,14 @@
 	
 		CarthageVersion
 		0.36.0
+		DateTime
+		Fri Nov  6 03:20:05 UTC 2020
 		OSXVersion
 		10.15.6
 		WebRTCCommit
 		1445d719bf05280270e9f77576f80f973fd847f8 M73
+		XCodeVersion
+		1200.1210
 	
 	CFBundleDevelopmentRegion
 	en