diff --git a/core/src/net/sf/openrocket/file/openrocket/OpenRocketSaver.java b/core/src/net/sf/openrocket/file/openrocket/OpenRocketSaver.java
index 3d8588098..357a91b79 100644
--- a/core/src/net/sf/openrocket/file/openrocket/OpenRocketSaver.java
+++ b/core/src/net/sf/openrocket/file/openrocket/OpenRocketSaver.java
@@ -219,6 +219,8 @@ public class OpenRocketSaver extends RocketSaver {
*/
private int calculateNecessaryFileVersion(OpenRocketDocument document, StorageOptions opts) {
/*
+ * NOTE: Remember to update the supported versions in DocumentConfig as well!
+ *
* File version 1.7 is required for:
* - simulation extensions
*
@@ -553,7 +555,7 @@ public class OpenRocketSaver extends RocketSaver {
} else if (value instanceof Number) {
writeln("" + value + "");
} else if (value instanceof String) {
- writeln("" + value + "");
+ writeln("" + TextUtil.escapeXML((String) value) + "");
} else if (value instanceof List) {
List> list = (List>) value;
writeln("");
diff --git a/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java b/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java
index 2e909207d..5cc77bd01 100644
--- a/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java
+++ b/core/src/net/sf/openrocket/file/openrocket/importt/DocumentConfig.java
@@ -48,7 +48,7 @@ import net.sf.openrocket.util.Reflection;
class DocumentConfig {
/* Remember to update OpenRocketSaver as well! */
- public static final String[] SUPPORTED_VERSIONS = { "1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6" };
+ public static final String[] SUPPORTED_VERSIONS = { "1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7" };
/**
* Divisor used in converting an integer version to the point-represented version.