From 30047e194a63aed2defc07b37628451e964fe2ac Mon Sep 17 00:00:00 2001
From: selenaxiao-nist <142448406+selenaxiao-nist@users.noreply.github.com>
Date: Wed, 24 Jun 2026 14:38:12 -0400
Subject: [PATCH 1/5] Update OSCAL submodule to 1.2.2
---
oscal | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/oscal b/oscal
index 4f02dac6..21403b4a 160000
--- a/oscal
+++ b/oscal
@@ -1 +1 @@
-Subproject commit 4f02dac6f698efda387cc5f55bc99581eaf494b6
+Subproject commit 21403b4ad2f162ef1201e5ee70e8b93f254f51ac
From 59ea96b9e9dcfdeee4a64b473b7c9de9930158aa Mon Sep 17 00:00:00 2001
From: selenaxiao-nist <142448406+selenaxiao-nist@users.noreply.github.com>
Date: Wed, 24 Jun 2026 14:40:04 -0400
Subject: [PATCH 2/5] ProfileResolver getByNs fix URI vs String error
---
.../secauto/oscal/lib/profile/resolver/ProfileResolver.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/gov/nist/secauto/oscal/lib/profile/resolver/ProfileResolver.java b/src/main/java/gov/nist/secauto/oscal/lib/profile/resolver/ProfileResolver.java
index 7429b824..33766311 100644
--- a/src/main/java/gov/nist/secauto/oscal/lib/profile/resolver/ProfileResolver.java
+++ b/src/main/java/gov/nist/secauto/oscal/lib/profile/resolver/ProfileResolver.java
@@ -581,7 +581,7 @@ protected void handleAlter(IRequiredValueAssemblyNodeItem item, IIndexer indexer
remove.getByName(),
remove.getByClass(),
remove.getById(),
- remove.getByNs(),
+ remove.getByNs() == null ? null : remove.getByNs().toString(),
RemoveVisitor.TargetType.forFieldName(remove.getByItemName()))) {
throw new ProfileResolutionEvaluationException(
String.format("The remove did not match a valid target"));
From f2c1c4ff2c34c0839c18302f35b58ba282b7e786 Mon Sep 17 00:00:00 2001
From: selenaxiao-nist <142448406+selenaxiao-nist@users.noreply.github.com>
Date: Fri, 26 Jun 2026 11:51:49 -0400
Subject: [PATCH 3/5] Add gitattributes to minimize end-of-line changes when
building
---
.gitattributes | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 .gitattributes
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..43451e4c
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,34 @@
+# default
+* text=auto
+
+# structured formats
+*.css text eol=lf
+*.dtd text eol=lf
+*.ent text eol=lf
+*.html text eol=lf
+*.js text eol=lf
+*.json text eol=lf
+*.sch text eol=lf
+*.scss text eol=lf
+*.xml text eol=lf
+*.xpl text eol=lf
+*.xsd text eol=lf
+*.xsl text eol=lf
+*.xspec text eol=lf
+*.yaml text eol=lf
+*.yml text eol=lf
+
+# markdown
+*.md text eol=lf
+
+# script files
+*.sh text eol=lf
+/build/ci-cd/config/* text eol=lf
+
+# programming language files
+*.py text eol=lf
+*.ts text eol=lf
+
+# other binary files
+*.png binary
+*.jpg binary
From d4bfb7f0c0be06b6362dec893327cb59c084db2f Mon Sep 17 00:00:00 2001
From: selenaxiao-nist <142448406+selenaxiao-nist@users.noreply.github.com>
Date: Fri, 26 Jun 2026 14:12:43 -0400
Subject: [PATCH 4/5] Move select-control-by-id binding from profile to
control-common
---
.../metaschema-bindings/oscal-metaschema-bindings.xml | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/main/metaschema-bindings/oscal-metaschema-bindings.xml b/src/main/metaschema-bindings/oscal-metaschema-bindings.xml
index d6670aca..566f123c 100644
--- a/src/main/metaschema-bindings/oscal-metaschema-bindings.xml
+++ b/src/main/metaschema-bindings/oscal-metaschema-bindings.xml
@@ -51,6 +51,11 @@
gov.nist.secauto.oscal.lib.model.control.AbstractPart
+
+
+ gov.nist.secauto.oscal.lib.model.control.profile.AbstractProfileSelectControlById
+
+
@@ -89,12 +94,6 @@
ProfileGroup
-
-
- ProfileSelectControlById
- gov.nist.secauto.oscal.lib.model.control.profile.AbstractProfileSelectControlById
-
-
ProfileSetParameter
From d048e0f413f60eb28b3ce039ae1c41bd334ad8c6 Mon Sep 17 00:00:00 2001
From: selenaxiao-nist <142448406+selenaxiao-nist@users.noreply.github.com>
Date: Fri, 26 Jun 2026 14:15:01 -0400
Subject: [PATCH 5/5] Replace ProfileSelectControlById with SelectControlById
in profile builder
---
.../control/profile/AbstractProfileSelectControlById.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/main/java/gov/nist/secauto/oscal/lib/model/control/profile/AbstractProfileSelectControlById.java b/src/main/java/gov/nist/secauto/oscal/lib/model/control/profile/AbstractProfileSelectControlById.java
index 46b3489b..71feae05 100644
--- a/src/main/java/gov/nist/secauto/oscal/lib/model/control/profile/AbstractProfileSelectControlById.java
+++ b/src/main/java/gov/nist/secauto/oscal/lib/model/control/profile/AbstractProfileSelectControlById.java
@@ -27,7 +27,7 @@
package gov.nist.secauto.oscal.lib.model.control.profile;
import gov.nist.secauto.oscal.lib.model.Matching;
-import gov.nist.secauto.oscal.lib.model.ProfileSelectControlById;
+import gov.nist.secauto.oscal.lib.model.SelectControlById;
import java.util.Collection;
import java.util.LinkedList;
@@ -75,8 +75,8 @@ public Builder matching(@NonNull Pattern pattern) {
}
@NonNull
- public ProfileSelectControlById build() {
- ProfileSelectControlById retval = new ProfileSelectControlById();
+ public SelectControlById build() {
+ SelectControlById retval = new SelectControlById();
retval.setWithChildControls(withChildControls ? "yes" : "no");
retval.setWithIds(withIds);
retval.setMatching(matching.stream()