diff --git a/Examples/xx-messenger/Project/XXMessenger.xcodeproj/project.pbxproj b/Examples/xx-messenger/Project/XXMessenger.xcodeproj/project.pbxproj
index f0505c12949959289b70b0fc9e45c8f1d1f7079c..a5d7c57993427f99c46ad495b1d7358a84b4d145 100644
--- a/Examples/xx-messenger/Project/XXMessenger.xcodeproj/project.pbxproj
+++ b/Examples/xx-messenger/Project/XXMessenger.xcodeproj/project.pbxproj
@@ -14,6 +14,7 @@
 /* Begin PBXFileReference section */
 		31964B8A28A6D37100BBDC17 /* XXMessenger.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = XXMessenger.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		31964B9128A6D37200BBDC17 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+		31EF69BC28F035DE00BD83FC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -48,6 +49,7 @@
 			isa = PBXGroup;
 			children = (
 				31964B9128A6D37200BBDC17 /* Assets.xcassets */,
+				31EF69BC28F035DE00BD83FC /* Info.plist */,
 			);
 			path = XXMessenger;
 			sourceTree = "<group>";
@@ -256,9 +258,11 @@
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_STYLE = Automatic;
-				DEVELOPMENT_TEAM = "";
+				DEVELOPMENT_TEAM = S6JDM2WW29;
 				ENABLE_PREVIEWS = YES;
 				GENERATE_INFOPLIST_FILE = YES;
+				INFOPLIST_FILE = XXMessenger/Info.plist;
+				INFOPLIST_KEY_LSApplicationCategoryType = "";
 				INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
 				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
 				INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -271,6 +275,9 @@
 				);
 				PRODUCT_BUNDLE_IDENTIFIER = xx.network.XXMessengerExample;
 				PRODUCT_NAME = "$(TARGET_NAME)";
+				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+				SUPPORTS_MACCATALYST = NO;
+				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
 				SWIFT_EMIT_LOC_STRINGS = YES;
 				SWIFT_VERSION = 5.0;
 				TARGETED_DEVICE_FAMILY = 1;
@@ -283,9 +290,11 @@
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_STYLE = Automatic;
-				DEVELOPMENT_TEAM = "";
+				DEVELOPMENT_TEAM = S6JDM2WW29;
 				ENABLE_PREVIEWS = YES;
 				GENERATE_INFOPLIST_FILE = YES;
+				INFOPLIST_FILE = XXMessenger/Info.plist;
+				INFOPLIST_KEY_LSApplicationCategoryType = "";
 				INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
 				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
 				INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -298,6 +307,9 @@
 				);
 				PRODUCT_BUNDLE_IDENTIFIER = xx.network.XXMessengerExample;
 				PRODUCT_NAME = "$(TARGET_NAME)";
+				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+				SUPPORTS_MACCATALYST = NO;
+				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
 				SWIFT_EMIT_LOC_STRINGS = YES;
 				SWIFT_VERSION = 5.0;
 				TARGETED_DEVICE_FAMILY = 1;
diff --git a/Examples/xx-messenger/Project/XXMessenger/Info.plist b/Examples/xx-messenger/Project/XXMessenger/Info.plist
new file mode 100644
index 0000000000000000000000000000000000000000..1114a1ec787c979c3753d26ee5bce26ea246d836
--- /dev/null
+++ b/Examples/xx-messenger/Project/XXMessenger/Info.plist
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>ITSAppUsesNonExemptEncryption</key>
+	<false/>
+  <key>NSLocalNetworkUsageDescription</key>
+  <string>Network usage required for debugging purposes </string>
+  <key>NSBonjourServices</key>
+  <array>
+    <string>_pulse._tcp</string>
+  </array>
+</dict>
+</plist>
diff --git a/Examples/xx-messenger/Sources/AppFeature/AppFeature.swift b/Examples/xx-messenger/Sources/AppFeature/AppFeature.swift
index 07be9948b695eb3bb8ecda07fb674ca77e8e7141..7796f592bcd5c795c20d4a281d243cd03a7b8df9 100644
--- a/Examples/xx-messenger/Sources/AppFeature/AppFeature.swift
+++ b/Examples/xx-messenger/Sources/AppFeature/AppFeature.swift
@@ -59,6 +59,7 @@ struct AppEnvironment {
   var home: () -> HomeEnvironment
 }
 
+#if DEBUG
 extension AppEnvironment {
   static let unimplemented = AppEnvironment(
     dbManager: .unimplemented,
@@ -74,6 +75,7 @@ extension AppEnvironment {
     home: { .unimplemented }
   )
 }
+#endif
 
 let appReducer = Reducer<AppState, AppAction, AppEnvironment>
 { state, action, env in
diff --git a/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift b/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift
index 87a516000a941d139add614d91b8276da3d5acab..f2015ebc2434ecaada1ba9abd4d345cea91bd03e 100644
--- a/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift
+++ b/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift
@@ -115,6 +115,7 @@ public struct HomeEnvironment {
   public var backup: () -> BackupEnvironment
 }
 
+#if DEBUG
 extension HomeEnvironment {
   public static let unimplemented = HomeEnvironment(
     messenger: .unimplemented,
@@ -127,6 +128,7 @@ extension HomeEnvironment {
     backup: { .unimplemented }
   )
 }
+#endif
 
 public let homeReducer = Reducer<HomeState, HomeAction, HomeEnvironment>
 { state, action, env in
diff --git a/Examples/xx-messenger/Sources/RegisterFeature/RegisterFeature.swift b/Examples/xx-messenger/Sources/RegisterFeature/RegisterFeature.swift
index 9b9754c60eb11b019a7674d6c247698f5b16ef01..f8fdabefea7d859b3153c6716133d3351bff2fdd 100644
--- a/Examples/xx-messenger/Sources/RegisterFeature/RegisterFeature.swift
+++ b/Examples/xx-messenger/Sources/RegisterFeature/RegisterFeature.swift
@@ -62,6 +62,7 @@ public struct RegisterEnvironment {
   public var bgQueue: AnySchedulerOf<DispatchQueue>
 }
 
+#if DEBUG
 extension RegisterEnvironment {
   public static let unimplemented = RegisterEnvironment(
     messenger: .unimplemented,
@@ -71,6 +72,7 @@ extension RegisterEnvironment {
     bgQueue: .unimplemented
   )
 }
+#endif
 
 public let registerReducer = Reducer<RegisterState, RegisterAction, RegisterEnvironment>
 { state, action, env in
diff --git a/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift b/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift
index 4d372202180da8adbb37355e78739236b8ff7d6a..6b3d61d340a7932b6367f71894a0efd707ae81d2 100644
--- a/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift
+++ b/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift
@@ -82,6 +82,7 @@ public struct RestoreEnvironment {
   public var bgQueue: AnySchedulerOf<DispatchQueue>
 }
 
+#if DEBUG
 extension RestoreEnvironment {
   public static let unimplemented = RestoreEnvironment(
     messenger: .unimplemented,
@@ -92,6 +93,7 @@ extension RestoreEnvironment {
     bgQueue: .unimplemented
   )
 }
+#endif
 
 public let restoreReducer = Reducer<RestoreState, RestoreAction, RestoreEnvironment>
 { state, action, env in
diff --git a/Examples/xx-messenger/Sources/WelcomeFeature/WelcomeFeature.swift b/Examples/xx-messenger/Sources/WelcomeFeature/WelcomeFeature.swift
index 5bfe814829ab4e85ff12ed43ec4b01fa91d9dc45..66e9ef1b3492c1d8277fac263a9d76523769030c 100644
--- a/Examples/xx-messenger/Sources/WelcomeFeature/WelcomeFeature.swift
+++ b/Examples/xx-messenger/Sources/WelcomeFeature/WelcomeFeature.swift
@@ -38,6 +38,7 @@ public struct WelcomeEnvironment {
   public var bgQueue: AnySchedulerOf<DispatchQueue>
 }
 
+#if DEBUG
 extension WelcomeEnvironment {
   public static let unimplemented = WelcomeEnvironment(
     messenger: .unimplemented,
@@ -45,6 +46,7 @@ extension WelcomeEnvironment {
     bgQueue: .unimplemented
   )
 }
+#endif
 
 public let welcomeReducer = Reducer<WelcomeState, WelcomeAction, WelcomeEnvironment>
 { state, action, env in
diff --git a/Examples/xx-messenger/XXMessenger.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Examples/xx-messenger/XXMessenger.xcworkspace/xcshareddata/swiftpm/Package.resolved
index d2f6fd9f7aec402d6406f317e572b620eca923c7..51664bd603e976bab27b158f1ef45ac937dd18b7 100644
--- a/Examples/xx-messenger/XXMessenger.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ b/Examples/xx-messenger/XXMessenger.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -41,8 +41,8 @@
       "kind" : "remoteSourceControl",
       "location" : "https://github.com/kean/Pulse.git",
       "state" : {
-        "revision" : "786611d3094e33f27d4546b260a966352bc45fd6",
-        "version" : "2.1.2"
+        "revision" : "6b682c529d98a38e6fdffee2a8bfa40c8de30821",
+        "version" : "2.1.3"
       }
     },
     {
@@ -86,8 +86,8 @@
       "kind" : "remoteSourceControl",
       "location" : "https://github.com/pointfreeco/swift-custom-dump.git",
       "state" : {
-        "revision" : "c9b6b940d95c0a925c63f6858943415714d8a981",
-        "version" : "0.5.2"
+        "revision" : "819d9d370cd721c9d87671e29d947279292e4541",
+        "version" : "0.6.0"
       }
     },
     {
diff --git a/Examples/xx-messenger/bump-build-number.sh b/Examples/xx-messenger/bump-build-number.sh
new file mode 100755
index 0000000000000000000000000000000000000000..f95dceaca1c95063eed05e6aa32388216376a0d1
--- /dev/null
+++ b/Examples/xx-messenger/bump-build-number.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+script_dir=$(dirname $(realpath $0))
+project_dir="$script_dir/Project"
+repo_dir="$script_dir/../../"
+
+if [ -n "$(git -C $repo_dir status --porcelain)" ]; then 
+  echo "Repository has uncommitted changes!"
+  exit 1
+fi
+
+cd $project_dir
+xcrun agvtool next-version
+build_number=$(xcrun agvtool what-version -terse)
+
+cd $repo_dir
+git commit -a -m "Bump xx-messenger example app build number to $build_number"
diff --git a/Package.resolved b/Package.resolved
index 0e663ab05e42e13ad7bd42275e604f72a8041347..eb44c7c2804b6d4b64f6ad27cdde3a8f42b6710b 100644
--- a/Package.resolved
+++ b/Package.resolved
@@ -14,8 +14,8 @@
       "kind" : "remoteSourceControl",
       "location" : "https://github.com/pointfreeco/swift-custom-dump.git",
       "state" : {
-        "revision" : "c9b6b940d95c0a925c63f6858943415714d8a981",
-        "version" : "0.5.2"
+        "revision" : "819d9d370cd721c9d87671e29d947279292e4541",
+        "version" : "0.6.0"
       }
     },
     {