1# ArkUI Subsystem Changelog 2 3## cl.arkui.1 System Component Parent-Child Verification 4 5Since 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> 6 7**Example** 8 9``` 10@Entry 11@Component 12struct Index { 13 build() { 14 Button(){ 15 Blank() 16 } 17 } 18} 19``` 20 21**Change Impact** 22 23The 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. 24 25``` 26// ArkTS:ERROR The 'Blank' component can only be nested in the 'Row,Column,Flex' parent component. 27Button(){ 28 Blank() 29 } 30``` 31 32**Key API/Component Changes** 33 34N/A 35 36**Adaptation Guide** 37 38For 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). 39 40## cl.arkui.2 Change of constraintSize Effectiveness for the \<Flex> Component in wrap Mode 41 42Since API version 11, the **constraintSize** attribute takes effect on the cross axis when the **\<Flex>** component is in wrap mode. 43 44**Example** 45 46``` 47@Entry 48@Component 49struct ClipExample1 { 50 @State message: string = 'Hello World' 51 build() { 52 Row() { 53 Column() { 54 Text(this.message) 55 .fontSize(50) 56 .fontWeight(FontWeight.Bold) 57 Flex({wrap:FlexWrap.Wrap}) { 58 Text('1').height(50).backgroundColor(Color.Gray) 59 Text ('Seize the day').height (50).backgroundColor (Color.Gray) 60 Text ('Seize the day and').height (50).backgroundColor (Color.Gray) 61 Text('Seize the day and make every moment count').height(50).backgroundColor(Color.Gray) 62 Text ('Seize the moment and make every').height (50).backgroundColor (Color.Gray) 63 Text ('Seize the day and').height (50).backgroundColor (Color.Gray) 64 Text('Seize the day and make every moment count').height(50).backgroundColor(Color.Gray) 65 Text('Seize the day and make every moment count').height(50).backgroundColor(Color.Gray) 66 Text('1').height(50).backgroundColor(Color.Gray) 67 Text('1').height(50).backgroundColor(Color.Gray) 68 Text('1').height(50).backgroundColor(Color.Gray) 69 } 70 .clip(true) 71 .backgroundColor(Color.Orange) 72 .constraintSize({ 73 minHeight: 50, 74 maxHeight: 150 75 }) 76 } 77 .width('100%') 78 }.height('100%').width(300) 79 } 80} 81``` 82 83**Change Impact** 84 85Before 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. 86 87**Adaptation Guide** 88 89If **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. 90 91## cl.arkui.3 Change in the currentOffset API of the \<Scroll> Component 92 93**Access Level** 94 95Public 96 97**Reason for Change** 98 99The original return value **any** of the **currentOffset** API is inconvenient for intelligent code completion. 100 101**Change Impact** 102 103This change is a non-compatible change. The return value of the **currentOffset** API is changed from **any** to **OffsetResult**. 104 105**API Level** 106 10711 108 109**Change Since** 110 111OpenHarmony SDK 4.1.2.3 112 113**Key API/Component Changes** 114 115In versions earlier than API version 10, the return value of the **currentOffset** API is **any**. 116``` 117currentOffset(); 118``` 119 120Since API version 11, the return value of the **currentOffset** API is **OffsetResult**. 121``` 122currentOffset() : OffsetResult; 123``` 124 125**Adaptation Guide** 126 127N/A 128