1e41f4b71Sopenharmony_ci# ArkUI Subsystem Changelog 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## cl.arkui.1 Change in the Priority of alignContent and align Attributes for the \<Stack> Component 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ciChanged the priority of **alignContent** and **align** as follows: 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciAPI version 9 and earlier: The universal attribute **align** prevails. 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ciAPI version 10 and later: The last set attribute prevails. 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ciWhen two attributes provide the same functions, the last set attribute takes effect. This rule applies to **alignContent** and **align**, both of which set the alignment mode when used for the **\<Stack>** component. 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci**Example** 14e41f4b71Sopenharmony_ci```ts 15e41f4b71Sopenharmony_ci// xxx.ets 16e41f4b71Sopenharmony_ci@Entry 17e41f4b71Sopenharmony_ci@Component 18e41f4b71Sopenharmony_cistruct StackExample { 19e41f4b71Sopenharmony_ci build() { 20e41f4b71Sopenharmony_ci Stack({alignContent:Alignment.Start}){ 21e41f4b71Sopenharmony_ci Text("Stack's child").backgroundColor(Color.Brown).height("100").width(100) 22e41f4b71Sopenharmony_ci } 23e41f4b71Sopenharmony_ci .width(300).height(300) 24e41f4b71Sopenharmony_ci .backgroundColor(Color.Pink) 25e41f4b71Sopenharmony_ci .align(Alignment.Center) 26e41f4b71Sopenharmony_ci .alignContent(Alignment.TopEnd) 27e41f4b71Sopenharmony_ci } 28e41f4b71Sopenharmony_ci} 29e41f4b71Sopenharmony_ci``` 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ciAPI version 9 and earlier: Child components are arranged based on the universal attribute **align**. 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_ciAPI version 10 and later: Child components are arranged based on the **alignContent** attribute, which is set at a later time than **align**. 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ci**Change Impact** 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ciWhen both **alignContent** and **align** attributes are set, the last set attribute prevails. 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci## cl.arkui.2 Behavior Change of the fillText and strokeText APIs of the \<Canvas> Component 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ciWhen the **fillText** and **strokeText** APIs are used to draw text, no text wrapping occurs. 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ci**Example** 50e41f4b71Sopenharmony_ci```ts 51e41f4b71Sopenharmony_ci// xxx.ets 52e41f4b71Sopenharmony_ci@Entry 53e41f4b71Sopenharmony_ci@Component 54e41f4b71Sopenharmony_cistruct FillText { 55e41f4b71Sopenharmony_ci private settings: RenderingContextSettings = new RenderingContextSettings(true) 56e41f4b71Sopenharmony_ci private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) 57e41f4b71Sopenharmony_ci 58e41f4b71Sopenharmony_ci build() { 59e41f4b71Sopenharmony_ci Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { 60e41f4b71Sopenharmony_ci Canvas(this.context) 61e41f4b71Sopenharmony_ci .width('100%') 62e41f4b71Sopenharmony_ci .height('100%') 63e41f4b71Sopenharmony_ci .backgroundColor('#ffff00') 64e41f4b71Sopenharmony_ci .onReady(() =>{ 65e41f4b71Sopenharmony_ci this.context.font = '50px sans-serif' 66e41f4b71Sopenharmony_ci this.context.fillText("Hello World!", 0, 100) 67e41f4b71Sopenharmony_ci this.context.fillText("Hello World! This is a long string to fully show", 0, 150) 68e41f4b71Sopenharmony_ci this.context.strokeText("Hello World!", 0, 250) 69e41f4b71Sopenharmony_ci this.context.strokeText("Hello World! This is a long string to fully show", 0, 300) 70e41f4b71Sopenharmony_ci }) 71e41f4b71Sopenharmony_ci } 72e41f4b71Sopenharmony_ci .width('100%') 73e41f4b71Sopenharmony_ci .height('100%') 74e41f4b71Sopenharmony_ci } 75e41f4b71Sopenharmony_ci} 76e41f4b71Sopenharmony_ci``` 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ciAPI version 9 and earlier: When the **fillText** and **strokeText** APIs are used to draw text, the text is wrapped based on the component width. 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_ciAPI version 10 and later: When the **fillText** and **strokeText** APIs are used to draw text, no text wrapping occurs. 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci**Change Impact** 87e41f4b71Sopenharmony_ci 88e41f4b71Sopenharmony_ciThe text appearance is affected now that the text is not wrapped based on the component width. 89