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