diff --git a/Common/MVKOSExtensions.h b/Common/MVKOSExtensions.h
index 9348b76..97dc999 100644
--- a/Common/MVKOSExtensions.h
+++ b/Common/MVKOSExtensions.h
@@ -95,7 +95,7 @@
  * Returns the value of the environment variable at the given name,
  * or an empty string if no environment variable with that name exists.
  *
- * If pWasFound is not null, it's value is set to true if the environment
+ * If pWasFound is not null, its value is set to true if the environment
  * variable exists, or false if not.
  */
 std::string mvkGetEnvVar(std::string varName, bool* pWasFound = nullptr);
@@ -104,7 +104,7 @@
  * Returns the value of the environment variable at the given name,
  * or zero if no environment variable with that name exists.
  *
- * If pWasFound is not null, it's value is set to true if the environment
+ * If pWasFound is not null, its value is set to true if the environment
  * variable exists, or false if not.
  */
 int64_t mvkGetEnvVarInt64(std::string varName, bool* pWasFound = nullptr);
@@ -113,7 +113,7 @@
  * Returns the value of the environment variable at the given name,
  * or false if no environment variable with that name exists.
  *
- * If pWasFound is not null, it's value is set to true if the environment
+ * If pWasFound is not null, its value is set to true if the environment
  * variable exists, or false if not.
  */
 bool mvkGetEnvVarBool(std::string varName, bool* pWasFound = nullptr);
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index afb2b32..0441d9a 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -13,6 +13,15 @@
 
 
 
+MoltenVK 1.1.8
+--------------
+
+Released TBD
+
+- Remove logged warning if MoltenVK does not support `VkApplicationInfo::apiVersion` value.
+
+
+
 MoltenVK 1.1.7
 --------------
 
diff --git a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
index 6ee374b..fa2b60f 100644
--- a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
+++ b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
@@ -50,7 +50,7 @@
  */
 #define MVK_VERSION_MAJOR   1
 #define MVK_VERSION_MINOR   1
-#define MVK_VERSION_PATCH   7
+#define MVK_VERSION_PATCH   8
 
 #define MVK_MAKE_VERSION(major, minor, patch)    (((major) * 10000) + ((minor) * 100) + (patch))
 #define MVK_VERSION     MVK_MAKE_VERSION(MVK_VERSION_MAJOR, MVK_VERSION_MINOR, MVK_VERSION_PATCH)
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index faad534..bc6d19d 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -3503,7 +3503,7 @@
 	if (mvkDevMem) { mvkDevMem->destroy(); }
 }
 
-// Look for an available pre-reserved private data slot and return it's address if found.
+// Look for an available pre-reserved private data slot and return its address if found.
 // Otherwise create a new instance and return it.
 VkResult MVKDevice::createPrivateDataSlot(const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
 										  const VkAllocationCallbacks* pAllocator,
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
index 294b126..414fb62 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKInstance.mm
@@ -325,8 +325,6 @@
         _appInfo.apiVersion = VK_API_VERSION_1_0;   // Default
     }
     else if (MVK_VULKAN_API_VERSION_CONFORM(_appInfo.apiVersion) > MVK_VULKAN_API_VERSION_CONFORM(MVK_VULKAN_API_VERSION)) {
-        MVKLogWarning("Unrecognized CreateInstance->pCreateInfo->pApplicationInfo->apiVersion number (0x%08x). Assuming MoltenVK %d.%d version.",
-                      _appInfo.apiVersion, MVK_VERSION_MAJOR, MVK_VERSION_MINOR);
         _appInfo.apiVersion = MVK_VULKAN_API_VERSION;
     }
     
