Bump specification revision to 1.4 (#33999)

* Bump specification revision to 1.4

- Set SpecificationVersion attribute of basic info to 0x01_04_00_00
- Update tests as needed

* Fix more tests

* Fix more tests

* Fix TC-BINFO-2.1 test
diff --git a/src/app/SpecificationDefinedRevisions.h b/src/app/SpecificationDefinedRevisions.h
index cad67ac..a883aa3 100644
--- a/src/app/SpecificationDefinedRevisions.h
+++ b/src/app/SpecificationDefinedRevisions.h
@@ -41,7 +41,7 @@
  * See section 7.1.1. "Revision History" in the "Data Model Specification"
  * chapter of the core Matter specification.
  */
-inline constexpr uint16_t kDataModelRevision = 17;
+inline constexpr uint16_t kDataModelRevision = 18;
 
 /*
  * A number identifying the specification version against which the
@@ -50,7 +50,7 @@
  * See section 11.1.5.22. "SpecificationVersion Attribute" in "Service and
  * Device Management" chapter of the core Matter specification.
  */
-inline constexpr uint32_t kSpecificationVersion = 0x01030000;
+inline constexpr uint32_t kSpecificationVersion = 0x01040000;
 
 } // namespace Revision
 } // namespace chip
diff --git a/src/app/tests/suites/TestBasicInformation.yaml b/src/app/tests/suites/TestBasicInformation.yaml
index ca62f39..e53b0dc 100644
--- a/src/app/tests/suites/TestBasicInformation.yaml
+++ b/src/app/tests/suites/TestBasicInformation.yaml
@@ -206,8 +206,8 @@
       command: "readAttribute"
       attribute: "SpecificationVersion"
       response:
-          # For now all-clusters-app has a version 1.3.
-          value: 0x01030000
+          # For now all-clusters-app has a version 1.4.
+          value: 0x01040000
 
     - label: "Read the Max Paths Per Invoke value"
       command: "readAttribute"
diff --git a/src/app/tests/suites/TestCASERecovery.yaml b/src/app/tests/suites/TestCASERecovery.yaml
index ef72e4d..babcc93 100644
--- a/src/app/tests/suites/TestCASERecovery.yaml
+++ b/src/app/tests/suites/TestCASERecovery.yaml
@@ -33,7 +33,9 @@
       command: "readAttribute"
       attribute: "DataModelRevision"
       response:
-          value: 17
+          constraints:
+              type: int16u
+              minValue: 17
 
     - label: "Reboot the server"
       cluster: "SystemCommands"
@@ -72,4 +74,6 @@
       command: "readAttribute"
       attribute: "DataModelRevision"
       response:
-          value: 17
+          constraints:
+              type: int16u
+              minValue: 17
diff --git a/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml b/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml
index 7f44561..55f3666 100644
--- a/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml
@@ -86,19 +86,15 @@
                 value: "y"
 
     - label: "Step 2: TH reads DataModelRevision from the DUT."
-      PICS: BINFO.S.A0000
       command: "readAttribute"
       attribute: "DataModelRevision"
       response:
-          value: 17
+          value: 18
           saveAs: DataModelRevisionValue
           constraints:
               type: int16u
-              minValue: 0
-              maxValue: 65534
 
     - label: "Step 3: TH writes DataModelRevision as '0x1124' "
-      PICS: BINFO.S.A0000
       command: "writeAttribute"
       attribute: "DataModelRevision"
       arguments:
@@ -107,7 +103,6 @@
           error: UNSUPPORTED_WRITE
 
     - label: "Step 4: TH reads DataModelRevision from the DUT."
-      PICS: BINFO.S.A0000
       command: "readAttribute"
       attribute: "DataModelRevision"
       response:
@@ -720,48 +715,21 @@
       response:
           value: ProductAppearancevalue
 
-    - label: "Step 62: TH reads SpecificationVersion from the DUT."
-      PICS: BINFO.S.A0015
+    - label:
+          "Step 62: SpecificationVersion value should in the inclusive range of
+          (0x01040000 to 0x0104FF00) and the lower 8 bits are set to zero."
       command: "readAttribute"
       attribute: "SpecificationVersion"
       response:
           saveAs: SpecificationVersionValue
-
-    - label:
-          "Step 62: If the SpecificationVersion value is absent or zero this
-          step cannot be verified, move on to the next step"
-      PICS: BINFO.S.A0015
-      cluster: "EqualityCommands"
-      command: "UnsignedNumberEquals"
-      arguments:
-          values:
-              - name: "Value1"
-                value: SpecificationVersionValue
-              - name: "Value2"
-                value: null
-      response:
-          - values:
-                - name: "Equals"
-                  saveAs: IsExpectedValue
-
-    - label:
-          "Step 62: SpecificationVersion value should in the inclusive range of
-          (0 to 4294967295) and the initial 7 bits are set to zero."
-      runIf: "!IsExpectedValue"
-      PICS: BINFO.S.A0015
-      command: "readAttribute"
-      attribute: "SpecificationVersion"
-      response:
-          value: SpecificationVersionValue
           constraints:
-              minValue: 0
-              maxValue: 4294967295
-              hasMasksClear: [0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40]
+              minValue: 0x01040000
+              maxValue: 0x0104FF00
+              hasMasksClear: [0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80]
 
     - label:
           "Step 63: TH sends Write request message to DUT to change the value of
           SpecificationVersion to '0x0103AAF1'."
-      PICS: BINFO.S.A0015
       command: "writeAttribute"
       attribute: "SpecificationVersion"
       arguments:
@@ -770,7 +738,6 @@
           error: UNSUPPORTED_WRITE
 
     - label: "Step 64: TH reads SpecificationVersion attribute from DUT"
-      PICS: BINFO.S.A0015
       command: "readAttribute"
       attribute: "SpecificationVersion"
       response: