diff --git a/VERSION b/VERSION
index 0b6e431..98c938e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.2.11
+2.2.12
diff --git a/containers/chameleon/Dockerfile.chameleon b/containers/chameleon/Dockerfile.chameleon
index 786793e..7cad4ff 100644
--- a/containers/chameleon/Dockerfile.chameleon
+++ b/containers/chameleon/Dockerfile.chameleon
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 # xosproject/chameleon
-FROM xosproject/xos-base:2.2.11
+FROM xosproject/xos-base:2.2.12
 
 # xos-base already has protoc and dependencies installed
 
diff --git a/containers/xos/Dockerfile.client b/containers/xos/Dockerfile.client
index 01994a3..e2a698e 100644
--- a/containers/xos/Dockerfile.client
+++ b/containers/xos/Dockerfile.client
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 # xosproject/xos-client
-FROM xosproject/xos-libraries:2.2.11
+FROM xosproject/xos-libraries:2.2.12
 
 # Install XOS client
 COPY lib/xos-api /tmp/xos-api
diff --git a/containers/xos/Dockerfile.libraries b/containers/xos/Dockerfile.libraries
index 395c3c3..9edd9d1 100644
--- a/containers/xos/Dockerfile.libraries
+++ b/containers/xos/Dockerfile.libraries
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 # xosproject/xos-libraries
-FROM xosproject/xos-base:2.2.11
+FROM xosproject/xos-base:2.2.12
 
 # Add libraries
 COPY lib /opt/xos/lib
diff --git a/containers/xos/Dockerfile.synchronizer-base b/containers/xos/Dockerfile.synchronizer-base
index 7211d60..faaf185 100644
--- a/containers/xos/Dockerfile.synchronizer-base
+++ b/containers/xos/Dockerfile.synchronizer-base
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 # xosproject/xos-synchronizer-base
-FROM xosproject/xos-client:2.2.11
+FROM xosproject/xos-client:2.2.12
 
 COPY xos/synchronizers/new_base /opt/xos/synchronizers/new_base
 COPY xos/xos/logger.py /opt/xos/xos/logger.py
diff --git a/containers/xos/Dockerfile.xos-core b/containers/xos/Dockerfile.xos-core
index 825df32..6dae309 100644
--- a/containers/xos/Dockerfile.xos-core
+++ b/containers/xos/Dockerfile.xos-core
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 # xosproject/xos-core
-FROM xosproject/xos-libraries:2.2.11
+FROM xosproject/xos-libraries:2.2.12
 
 # Install XOS
 ADD xos /opt/xos
diff --git a/lib/xos-genx/xosgenx/jinja2_extensions/tosca.py b/lib/xos-genx/xosgenx/jinja2_extensions/tosca.py
index b6ae85d..947be4f 100644
--- a/lib/xos-genx/xosgenx/jinja2_extensions/tosca.py
+++ b/lib/xos-genx/xosgenx/jinja2_extensions/tosca.py
@@ -19,7 +19,8 @@
 def xproto_tosca_required(null, blank, default=None, modifier=None):
     # `null` is not currently considered. `blank` is deprecated.
     if (modifier == "optional") or (blank == "True") or (default is not None):
-         return "false"
+        return "false"
+
     return "true"
 
 
diff --git a/lib/xos-genx/xosgenx/validator.py b/lib/xos-genx/xosgenx/validator.py
index 3007a1a..772b0f9 100644
--- a/lib/xos-genx/xosgenx/validator.py
+++ b/lib/xos-genx/xosgenx/validator.py
@@ -125,8 +125,9 @@
     def require_options(self, model, field, options):
         """ Require an option to be present.
         """
+        options = field.get("options", {})
         for optname in options:
-            if not field.get(optname):
+            if optname not in options:
                 self.error(model, field, "Required option '%s' is not present" % optname)
 
     def check_modifier_consistent(self, model, field):
diff --git a/xos/core/migrations/0008_auto_20190308_1328.py b/xos/core/migrations/0008_auto_20190308_1328.py
new file mode 100644
index 0000000..243d649
--- /dev/null
+++ b/xos/core/migrations/0008_auto_20190308_1328.py
@@ -0,0 +1,45 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.11 on 2019-03-08 18:28
+from __future__ import unicode_literals
+
+import core.models.xosbase_header
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('core', '0007_auto_20190307_1227'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='network_decl',
+            name='permitted_slices',
+            field=models.ManyToManyField(blank=True, related_name='availableNetworks', to='core.Slice'),
+        ),
+        migrations.AlterField(
+            model_name='nodelabel_decl',
+            name='node',
+            field=models.ManyToManyField(blank=True, related_name='nodelabels', to='core.Node'),
+        ),
+        migrations.AlterField(
+            model_name='xoscore_decl',
+            name='name',
+            field=core.models.xosbase_header.StrippedCharField(default=b'XOS', help_text=b'Name of XOS', max_length=200, unique=True),
+        ),
+    ]
diff --git a/xos/core/models/core.xproto b/xos/core/models/core.xproto
index 12d00af..0cd40a3 100644
--- a/xos/core/models/core.xproto
+++ b/xos/core/models/core.xproto
@@ -15,20 +15,20 @@
      optional string enacted = 4 [null = True, content_type = "date", blank = True, default = None, help_text = "When synced, set to the timestamp of the data that was synced"];
      optional string policed = 5 [null = True, content_type = "date", blank = True, default = None, help_text = "When policed, set to the timestamp of the data that was policed"];
      optional string backend_register = 6 [default = "{}", max_length = 1024, feedback_state = True];
-     required bool backend_need_delete = 7 [default = False, blank = True];
-     required bool backend_need_reap = 8 [default = False, blank = True];
+     required bool backend_need_delete = 7 [default = False];
+     required bool backend_need_reap = 8 [default = False];
      required string backend_status = 9 [default = "Provisioning in progress", max_length = 1024, feedback_state = True];
      required int32 backend_code = 10 [default = 0, feedback_state = True];
-     required bool deleted = 11 [default = False, blank = True];
-     required bool write_protect = 12 [default = False, blank = True];
-     required bool lazy_blocked = 13 [default = False, blank = True];
-     required bool no_sync = 14 [default = False, blank = True];
-     required bool no_policy = 15 [default = False, blank = True];
+     required bool deleted = 11 [default = False];
+     required bool write_protect = 12 [default = False];
+     required bool lazy_blocked = 13 [default = False];
+     required bool no_sync = 14 [default = False];
+     required bool no_policy = 15 [default = False];
      optional string policy_status = 16 [default = "Policy in process", max_length = 1024, feedback_state = True];
      optional int32 policy_code = 17 [default = 0, feedback_state = True];
      required string leaf_model_name = 18 [null = False, max_length = 1024, help_text = "The most specialized model in this chain of inheritance, often defined by a service developer"];
-     required bool backend_need_delete_policy = 19 [default = False, help_text = "True if delete model_policy must be run before object can be reaped", blank = True];
-     required bool xos_managed = 20 [default = True, help_text = "True if xos is responsible for creating/deleting this object", blank = True, gui_hidden = True];
+     required bool backend_need_delete_policy = 19 [default = False, help_text = "True if delete model_policy must be run before object can be reaped"];
+     required bool xos_managed = 20 [default = True, help_text = "True if xos is responsible for creating/deleting this object", gui_hidden = True];
      optional string backend_handle = 21 [max_length = 1024, feedback_state = True, blank=True, null=True, help_text = "Handle used by the backend to track this object", gui_hidden = True];
      optional string changed_by_step = 22 [null = True, content_type = "date", blank = True, default = None, gui_hidden = True, help_text = "Time this model was changed by a sync step"];
      optional string changed_by_policy = 23 [null = True, content_type = "date", blank = True, default = None, gui_hidden = True, help_text = "Time this model was changed by a model policy"];
@@ -60,32 +60,32 @@
      optional string user_url = 9 [db_index = False, max_length = 200, null = True, content_type = "url", blank = True];
      required manytoone site->Site:users = 10:1001 [help_text = "Site this user will be homed too", null = False, db_index = True, blank = False];
      optional string public_key = 11 [help_text = "Public key string", max_length = 1024, null = True, db_index = False, blank = True, varchar = True];
-     required bool is_active = 12 [default = True, null = False, db_index = False, blank = True];
-     required bool is_admin = 13 [default = False, null = False, db_index = False, blank = True];
-     required bool is_staff = 14 [default = True, null = False, db_index = False, blank = True];
-     required bool is_readonly = 15 [default = False, null = False, db_index = False, blank = True];
-     required bool is_registering = 16 [default = False, null = False, db_index = False, blank = True];
-     required bool is_appuser = 17 [default = False, null = False, db_index = False, blank = True];
+     required bool is_active = 12 [default = True, null = False, db_index = False];
+     required bool is_admin = 13 [default = False, null = False, db_index = False];
+     required bool is_staff = 14 [default = True, null = False, db_index = False];
+     required bool is_readonly = 15 [default = False, null = False, db_index = False];
+     required bool is_registering = 16 [default = False, null = False, db_index = False];
+     required bool is_appuser = 17 [default = False, null = False, db_index = False];
      optional string login_page = 18 [max_length = 200, content_type = "stripped", blank = True, help_text = "send this user to a specific page on login", null = True, db_index = False];
-     required string created = 19 [db_index = False, null = False, content_type = "date", blank = True];
-     required string updated = 20 [db_index = False, null = False, content_type = "date", blank = True];
-     optional string enacted = 21 [db_index = False, null = True, content_type = "date"];
-     optional string policed = 22 [db_index = False, null = True, content_type = "date"];
+     required string created = 19 [content_type = "date", auto_now_add = True, help_text = "Time this model was created"];
+     required string updated = 20 [default = "now()", content_type = "date", help_text = "Time this model was changed by a non-synchronizer"];
+     optional string enacted = 21 [null = True, content_type = "date", blank = True, default = None, help_text = "When synced, set to the timestamp of the data that was synced"];
+     optional string policed = 22 [null = True, content_type = "date", blank = True, default = None, help_text = "When policed, set to the timestamp of the data that was policed"];
      required string backend_status = 23 [default = "Provisioning in progress", max_length = 1024, content_type = "stripped", blank = False, null = False, db_index = False];
      required int32 backend_code = 24 [default = 0];
-     required bool backend_need_delete = 25 [default = False, null = False, db_index = False, blank = True];
-     required bool backend_need_reap = 26 [default = False, null = False, db_index = False, blank = True];
-     required bool deleted = 27 [default = False, null = False, db_index = False, blank = True];
-     required bool write_protect = 28 [default = False, null = False, db_index = False, blank = True];
-     required bool lazy_blocked = 29 [default = False, null = False, db_index = False, blank = True];
-     required bool no_sync = 30 [default = False, null = False, db_index = False, blank = True];
-     required bool no_policy = 31 [default = False, null = False, db_index = False, blank = True];
+     required bool backend_need_delete = 25 [default = False, null = False, db_index = False];
+     required bool backend_need_reap = 26 [default = False, null = False, db_index = False];
+     required bool deleted = 27 [default = False, null = False, db_index = False];
+     required bool write_protect = 28 [default = False, null = False, db_index = False];
+     required bool lazy_blocked = 29 [default = False, null = False, db_index = False];
+     required bool no_sync = 30 [default = False, null = False, db_index = False];
+     required bool no_policy = 31 [default = False, null = False, db_index = False];
      required string timezone = 32 [default = "America/New_York", max_length = 100, blank = False, null = False, db_index = False];
      optional string policy_status = 33 [default = "0 - Policy in process", max_length = 1024];
      optional int32 policy_code = 34 [default = 0];
      required string leaf_model_name = 35 [null = False, max_length = 1024, help_text = "The most specialized model in this chain of inheritance, often defined by a service developer"];
-     required bool backend_need_delete_policy = 36 [default = False, help_text = "True if delete model_policy must be run before object can be reaped", blank = True];
-     required bool xos_managed = 37 [default = True, help_text = "True if xos is responsible for creating/deleting this object", blank = True, gui_hidden = True];
+     required bool backend_need_delete_policy = 36 [default = False, help_text = "True if delete model_policy must be run before object can be reaped"];
+     required bool xos_managed = 37 [default = True, help_text = "True if xos is responsible for creating/deleting this object", gui_hidden = True];
      optional string backend_handle = 38 [max_length = 1024, feedback_state = True, blank=True, null=True, help_text = "Handle used by the backend to track this object", gui_hidden = True];
      optional string changed_by_step = 39 [null = True, content_type = "date", blank = True, default = None, gui_hidden = True, help_text = "Time this model was changed by a sync step"];
      optional string changed_by_policy = 40 [null = True, content_type = "date", blank = True, default = None, gui_hidden = True, help_text = "Time this model was changed by a model policy"];
@@ -163,7 +163,7 @@
 message Flavor (XOSBase) {
      required string name = 1 [max_length = 32, content_type = "stripped", blank = False, help_text = "name of this flavor, as displayed to users", null = False, db_index = False, unique = True];
      optional string description = 2 [db_index = False, max_length = 1024, null = True, content_type = "stripped"];
-     required string flavor = 3 [max_length = 32, content_type = "stripped", blank = True, help_text = "flavor string used to configure deployments", null = False, db_index = False];
+     required string flavor = 3 [max_length = 32, content_type = "stripped", help_text = "flavor string used to configure deployments", db_index = False];
 }
 
 
@@ -187,9 +187,9 @@
      optional string ports = 6 [db_index = False, max_length = 1024];
      optional string labels = 7 [db_index = False, max_length = 1024];
      required manytoone owner->Slice:ownedNetworks = 8:1004 [help_text = "Slice that owns control of this Network", null = False, db_index = True, blank = False];
-     required bool permit_all_slices = 10 [default = False, null = False, db_index = False, blank = True];
-     required bool autoconnect = 17 [help_text = "This network can be autoconnected to the slice that owns it", default = True, null = False, db_index = False, blank = True];
-     required manytomany permitted_slices->Slice/Network_permitted_slices:availableNetworks = 18:1005 [db_index = False, blank = True];
+     required bool permit_all_slices = 10 [default = False, null = False, db_index = False];
+     required bool autoconnect = 17 [help_text = "This network can be autoconnected to the slice that owns it", default = True, null = False, db_index = False];
+     optional manytomany permitted_slices->Slice/Network_permitted_slices:availableNetworks = 18:1005 [db_index = False];
 }
 
 
@@ -203,7 +203,7 @@
 
 message NetworkParameterType (XOSBase) {
      required string name = 1 [help_text = "The name of this parameter", max_length = 128, null = False, db_index = True, blank = False, unique = True];
-     optional string description = 2 [db_index = False, max_length = 1024, null = False];
+     optional string description = 2 [db_index = False, max_length = 1024];
 }
 
 policy network_slice_validator < (obj.slice in obj.network.permitted_slices.all()) | (obj.slice = obj.network.owner) | obj.network.permit_all_slices >
@@ -238,7 +238,7 @@
 }
 message NodeLabel (XOSBase) {
      required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "label name", null = False, db_index = False, unique = True];
-     required manytomany node->Node/NodeLabel_node:nodelabels = 2:1002 [db_index = False, blank = True];
+     optional manytomany node->Node/NodeLabel_node:nodelabels = 2:1002 [db_index = False];
 }
 
 policy port_policy < *network_policy(network) >
@@ -248,7 +248,7 @@
      optional string ip = 3 [max_length = 39, content_type = "ip", blank = True, help_text = "Instance ip address", null = True, db_index = False];
      optional string port_id = 4 [help_text = "Neutron port id", max_length = 256, null = True, db_index = False, blank = True];
      optional string mac = 5 [help_text = "MAC address associated with this port", max_length = 256, null = True, db_index = False, blank = True];
-     required bool xos_created = 6 [default = False, null = False, db_index = False, blank = True];
+     required bool xos_created = 6 [default = False, db_index = False];
      optional manytoone service_instance->ServiceInstance:ports = 7:1001 [db_index = True, null = True, blank = True, help_text = "ServiceInstance bound to this port"];
 }
 
@@ -275,10 +275,8 @@
          varchar = True];
      required bool enabled = 2 [
          help_text = "Whether or not service is Enabled",
-         blank = True,
          db_index = False,
          default = True,
-         null = False,
          gui_hidden = True];
      required string kind = 3 [
          help_text = "Kind of service",
@@ -306,11 +304,9 @@
          null = True];
      required bool published = 6 [
          help_text = "True if this service should be published in XOS",
-         blank = True,
          db_index = False,
          default = True,
-         gui_hidden = True,
-         null = False]; // deprecated?
+         gui_hidden = True]; // deprecated?
      optional string icon_url = 8 [
          blank = True,
          content_type = "stripped",
@@ -429,13 +425,13 @@
 message Site::site_policy (XOSBase) {
      required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name for this Site", null = False, db_index = False, unique = True];
      optional string site_url = 2 [max_length = 512, content_type = "url", blank = True, help_text = "Site's Home URL Page", null = True, db_index = False];
-     required bool enabled = 3 [help_text = "Status for this Site", default = True, null = False, db_index = False, blank = True];
-     required bool hosts_nodes = 4 [help_text = "Indicates whether or not the site host nodes", default = True, null = False, db_index = False, blank = True];
-     required bool hosts_users = 5 [help_text = "Indicates whether or not the site manages user accounts", default = True, null = False, db_index = False, blank = True];
+     required bool enabled = 3 [help_text = "Status for this Site", default = True, db_index = False];
+     required bool hosts_nodes = 4 [help_text = "Indicates whether or not the site host nodes", default = True, db_index = False];
+     required bool hosts_users = 5 [help_text = "Indicates whether or not the site manages user accounts", default = True, db_index = False];
      optional float longitude = 6 [db_index = False, null = True, blank = True];
      optional float latitude = 7 [db_index = False, null = True, blank = True];
      required string login_base = 8 [max_length = 50, content_type = "stripped", blank = False, help_text = "Prefix for Slices associated with this Site", null = False, db_index = False];
-     required bool is_public = 9 [help_text = "Indicates the visibility of this site to other members", default = True, null = False, db_index = False, blank = True];
+     required bool is_public = 9 [help_text = "Indicates the visibility of this site to other members", default = True, db_index = False];
      required string abbreviated_name = 10 [db_index = False, max_length = 80, null = False, content_type = "stripped", blank = False];
 }
 
@@ -447,7 +443,7 @@
      option plural = "Slices";
 
      required string name = 1 [max_length = 80, content_type = "stripped", blank = False, help_text = "The Name of the Slice", null = False, db_index = False, unique = True];
-     required bool enabled = 2 [help_text = "Status for this Slice", default = True, null = False, db_index = False, blank = True];
+     required bool enabled = 2 [help_text = "Status for this Slice", default = True, db_index = False];
      optional string description = 4 [help_text = "High level description of the slice and expected activities", max_length = 1024, db_index = False, varchar = True];
      required manytoone site->Site:slices = 6:1005 [help_text = "The Site this Slice belongs to", null = False, db_index = True, blank = False];
      required int32 max_instances = 7 [default = 10, null = False, db_index = False, blank = False];
@@ -618,7 +614,7 @@
 message XOSCore (XOSBase) {
      option singular="XOSCore";
      option plural="XOSCores";
-     required string name = 1 [default = "XOS", max_length = 200, content_type = "stripped", blank = False, help_text = "Name of XOS", null = False, db_index = False, unique = "True"];
+     required string name = 1 [default = "XOS", max_length = 200, content_type = "stripped", blank = False, help_text = "Name of XOS", null = False, db_index = False, unique = True];
 }
 
 message XOSGuiExtension::admin_policy (XOSBase) {
@@ -634,6 +630,6 @@
 message ServiceGraphConstraint (XOSBase) {
     option verbose_name="Graph Constraint";
     option description="Define the position of the nodes in the service graph";
-    required string constraints = 1 [max_length = 1024, content_type = "stripped", blank = True, help_text = "A composite array defining positions, eg [volt, vsg, [address_manager, vrouter]]", null = False, tosca_key=True];
+    required string constraints = 1 [max_length = 1024, content_type = "stripped", help_text = "A composite array defining positions, eg [volt, vsg, [address_manager, vrouter]]", tosca_key=True];
 }
 
