1e41f4b71Sopenharmony_ci#  ArkUI Subsystem Changelog
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci## cl.arkui.1 System Component Parent-Child Verification
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ciSince API version 11, if the parent component of the following components is not as expected, a compilation error is reported: \<Blank>, \<FlowItem>, \<GridItem>, \<GridCol>, \<ListItem>, \<ListItemGroup>, \<Option>, \<Span>, \<StepperItem>, and \<TabContent>
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci**Example**
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci```
10e41f4b71Sopenharmony_ci@Entry
11e41f4b71Sopenharmony_ci@Component
12e41f4b71Sopenharmony_cistruct Index {
13e41f4b71Sopenharmony_ci  build() {
14e41f4b71Sopenharmony_ci    Button(){
15e41f4b71Sopenharmony_ci      Blank()
16e41f4b71Sopenharmony_ci    }
17e41f4b71Sopenharmony_ci  }
18e41f4b71Sopenharmony_ci}
19e41f4b71Sopenharmony_ci```
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci**Change Impact**
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ciThe parent component of the following components must be within **if**, **ForEach**, **LazyForEach**, or a method decorated by @Builder: \<Blank>, \<FlowItem>, \<GridItem>, \<GridCol>, \<ListItem>, \<ListItemGroup>, \<Option>, \<Span>, \<StepperItem>, and \<TabContent>. Otherwise, an error is reported during compilation.
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci```
26e41f4b71Sopenharmony_ci// ArkTS:ERROR The 'Blank' component can only be nested in the 'Row,Column,Flex' parent component.
27e41f4b71Sopenharmony_ciButton(){
28e41f4b71Sopenharmony_ci      Blank()
29e41f4b71Sopenharmony_ci    }
30e41f4b71Sopenharmony_ci```
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci**Key API/Component Changes**
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ciN/A
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci**Adaptation Guide**
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ciFor details, see [\<Blank>](../../../application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-blank.md), [\<FlowItem>](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-flowitem.md), [\<GridItem>](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-griditem.md), [\<GridCol>](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-gridcol.md), [\<ListItem>](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-listitem.md), [\<ListItemGroup>](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-listitemgroup.md), \<Option>, [\<Span>](../../../application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-span.md), [\<StepperItem>](../../../application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-stepperitem.md), and [\<TabContent>](../../../application-dev/reference/apis-arkui/arkui-ts/ts-container-tabcontent.md).
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci## cl.arkui.2 Change of constraintSize Effectiveness for the \<Flex> Component in wrap Mode
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ciSince API version 11, the **constraintSize** attribute takes effect on the cross axis when the **\<Flex>** component is in wrap mode.
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci**Example**
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci```
47e41f4b71Sopenharmony_ci@Entry
48e41f4b71Sopenharmony_ci@Component
49e41f4b71Sopenharmony_cistruct ClipExample1 {
50e41f4b71Sopenharmony_ci  @State message: string = 'Hello World'
51e41f4b71Sopenharmony_ci  build() {
52e41f4b71Sopenharmony_ci    Row() {
53e41f4b71Sopenharmony_ci      Column() {
54e41f4b71Sopenharmony_ci        Text(this.message)
55e41f4b71Sopenharmony_ci          .fontSize(50)
56e41f4b71Sopenharmony_ci          .fontWeight(FontWeight.Bold)
57e41f4b71Sopenharmony_ci        Flex({wrap:FlexWrap.Wrap}) {
58e41f4b71Sopenharmony_ci          Text('1').height(50).backgroundColor(Color.Gray)
59e41f4b71Sopenharmony_ci          Text ('Seize the day').height (50).backgroundColor (Color.Gray)
60e41f4b71Sopenharmony_ci          Text ('Seize the day and').height (50).backgroundColor (Color.Gray)
61e41f4b71Sopenharmony_ci          Text('Seize the day and make every moment count').height(50).backgroundColor(Color.Gray)
62e41f4b71Sopenharmony_ci          Text ('Seize the moment and make every').height (50).backgroundColor (Color.Gray)
63e41f4b71Sopenharmony_ci          Text ('Seize the day and').height (50).backgroundColor (Color.Gray)
64e41f4b71Sopenharmony_ci          Text('Seize the day and make every moment count').height(50).backgroundColor(Color.Gray)
65e41f4b71Sopenharmony_ci          Text('Seize the day and make every moment count').height(50).backgroundColor(Color.Gray)
66e41f4b71Sopenharmony_ci          Text('1').height(50).backgroundColor(Color.Gray)
67e41f4b71Sopenharmony_ci          Text('1').height(50).backgroundColor(Color.Gray)
68e41f4b71Sopenharmony_ci          Text('1').height(50).backgroundColor(Color.Gray)
69e41f4b71Sopenharmony_ci        }
70e41f4b71Sopenharmony_ci        .clip(true)
71e41f4b71Sopenharmony_ci        .backgroundColor(Color.Orange)
72e41f4b71Sopenharmony_ci        .constraintSize({
73e41f4b71Sopenharmony_ci          minHeight: 50,
74e41f4b71Sopenharmony_ci          maxHeight: 150
75e41f4b71Sopenharmony_ci        })
76e41f4b71Sopenharmony_ci      }
77e41f4b71Sopenharmony_ci      .width('100%')
78e41f4b71Sopenharmony_ci    }.height('100%').width(300)
79e41f4b71Sopenharmony_ci  }
80e41f4b71Sopenharmony_ci}
81e41f4b71Sopenharmony_ci```
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ci**Change Impact**
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ciBefore the change, the height of the **\<Flex>** component is 200, which is not restricted by **maxHeight** in **constraintSize**. After the change, **constraintSize** settings take effect, with the minimum height of 50 and the maximum height of 150. The maximum and minimum width constraints take effect in the same way.
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci**Adaptation Guide**
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ciIf **wrap** is used and **constraintSize** is set on the **\<Flex>** component in previous versions, the settings should take effect. If the constraint is not required, remove **constraintSize** or adjust the constraint value.
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_ci## cl.arkui.3 Change in the currentOffset API of the \<Scroll> Component
92e41f4b71Sopenharmony_ci
93e41f4b71Sopenharmony_ci**Access Level**
94e41f4b71Sopenharmony_ci
95e41f4b71Sopenharmony_ciPublic
96e41f4b71Sopenharmony_ci
97e41f4b71Sopenharmony_ci**Reason for Change**
98e41f4b71Sopenharmony_ci
99e41f4b71Sopenharmony_ciThe original return value **any** of the **currentOffset** API is inconvenient for intelligent code completion.
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci**Change Impact**
102e41f4b71Sopenharmony_ci
103e41f4b71Sopenharmony_ciThis change is a non-compatible change. The return value of the **currentOffset** API is changed from **any** to **OffsetResult**.
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci**API Level**
106e41f4b71Sopenharmony_ci
107e41f4b71Sopenharmony_ci11
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ci**Change Since**
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.2.3
112e41f4b71Sopenharmony_ci
113e41f4b71Sopenharmony_ci**Key API/Component Changes**
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ciIn versions earlier than API version 10, the return value of the **currentOffset** API is **any**.
116e41f4b71Sopenharmony_ci```
117e41f4b71Sopenharmony_cicurrentOffset();
118e41f4b71Sopenharmony_ci```
119e41f4b71Sopenharmony_ci
120e41f4b71Sopenharmony_ciSince API version 11, the return value of the **currentOffset** API is **OffsetResult**.
121e41f4b71Sopenharmony_ci```
122e41f4b71Sopenharmony_cicurrentOffset() : OffsetResult;
123e41f4b71Sopenharmony_ci```
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci**Adaptation Guide**
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ciN/A
128