diff --git a/src/photini/__init__.py b/src/photini/__init__.py
index <HASH>..<HASH> 100644
--- a/src/photini/__init__.py
+++ b/src/photini/__init__.py
@@ -1,4 +1,4 @@
 from __future__ import unicode_literals
 
-__version__ = '2016.07.0'
-build = '679 (d044cc6)'
+__version__ = '2016.08.0'
+build = '680 (eb4fc37)'
diff --git a/src/photini/metadata.py b/src/photini/metadata.py
index <HASH>..<HASH> 100644
--- a/src/photini/metadata.py
+++ b/src/photini/metadata.py
@@ -543,7 +543,14 @@ class String(MetadataValue):
     def __init__(self, value):
         if isinstance(value, list):
             value = value[0]
-        super(String, self).__init__(six.text_type(value).strip())
+        super(String, self).__init__(value)
+
+    @classmethod
+    def from_exif(cls, file_value):
+        value = six.text_type(file_value).strip()
+        if not value:
+            return None
+        return cls(value)
 
     def contains(self, other):
         return (not other) or (other.value in self.value)
Ensure EXIF empty strings are interpreted as None