1e41f4b71Sopenharmony_ci# ArkUI Subsystem Changelog
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci## cl.arkui.1 Change in Handling Rules on Negative Values of fontSize for Buttons
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci**Change Impact**
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ciBefore change, a negative value of **fontSize** evaluates to **0**. That is, the text is not displayed.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ciAfter change, a negative value of **fontSize** evaluates to the default value **16fp**.
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ciNote: This change does not affect the effect of **fontSize=0**.
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci## cl.arkui.2 Change in the Search Text Box for When the Attributes of the \<Search> Component Are Dynamically Changed
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci**Change Impact**
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ciBefore change, when **placeholder**, but not **value**, is set for the **\<Search>** component, dynamically changing the component attributes will clear the search text box.
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ciAfter change, when **placeholder**, but not **value**, is set for the **\<Search>** component, dynamically changing the component attributes will not clear the search text box.
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ciNote: After change, the behavior of the **\<Search>** component is what is expected of the component in normal cases.
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci## cl.arkui.3 Change in the Width Specification of the \<Menu> Component
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ciChanged the width specification of the [\<Menu>](../../../application-dev/reference/arkui-ts/ts-basic-components-menu.md) component as follows: If the width is not set, the component takes up two columns. If the width is set, the component adapts its content to the set width. 
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ciThe **\<Menu>** component has a default minimum width of 64 vp.
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci**Change Impact**
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci1. By default, the menu takes up two columns. If the content of the [\<MenuItem>](../../../application-dev/reference/arkui-ts/ts-basic-components-menuitem.md) is wider than 2 columns, the menu width is automatically extended.
32e41f4b71Sopenharmony_ci2. The default minimum width of the menu is 64 vp. You can change the minimum width through the [constraintSize](../../../application-dev/reference/arkui-ts/ts-universal-attributes-size.md) attribute.
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci**Key API/Component Changes**
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci[Menu](../../../application-dev/reference/arkui-ts/ts-basic-components-menu.md)
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci**Adaptation Guide**
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ciYou can set the minimum width to a value less than 64 vp or remove the limit altogether, by setting **constraintSize**.
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci**Example**
43e41f4b71Sopenharmony_ci```ts
44e41f4b71Sopenharmony_ci@Entry
45e41f4b71Sopenharmony_ci@Component
46e41f4b71Sopenharmony_cistruct Index {
47e41f4b71Sopenharmony_ci  @Builder
48e41f4b71Sopenharmony_ci  MyMenu(){
49e41f4b71Sopenharmony_ci    Menu() {
50e41f4b71Sopenharmony_ci      MenuItem({ startIcon: $r("app.media.icon"), content: "Menu option" })
51e41f4b71Sopenharmony_ci    }
52e41f4b71Sopenharmony_ci    .width(30)
53e41f4b71Sopenharmony_ci    .constraintSize({minWidth: 0}) //Overwrite the default minimum width of 64 vp.
54e41f4b71Sopenharmony_ci  }
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci  build() {
57e41f4b71Sopenharmony_ci    Row() {
58e41f4b71Sopenharmony_ci      Column() {
59e41f4b71Sopenharmony_ci        Text('click to show menu')
60e41f4b71Sopenharmony_ci      }
61e41f4b71Sopenharmony_ci      .bindMenu(this.MyMenu)
62e41f4b71Sopenharmony_ci      .width('100%')
63e41f4b71Sopenharmony_ci    }
64e41f4b71Sopenharmony_ci    .height('100%')
65e41f4b71Sopenharmony_ci  }
66e41f4b71Sopenharmony_ci}
67e41f4b71Sopenharmony_ci```
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci## cl.arkui.4 Change in the Velocity Direction Specification of springCurve
70e41f4b71Sopenharmony_ci
71e41f4b71Sopenharmony_ci**Change Impact**
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ciIn API version 9, when the [interpolate](../../../application-dev/reference/apis/js-apis-curve.md#interpolate9) method of [springCurve](../../../application-dev/reference/apis/js-apis-curve.md#curvesspringcurve9) is used for calculation, an initial velocity greater than 0 means to move in the reverse direction of the end point, and an initial velocity less than 0 means move in the direction of the end point.
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ciSince API version 10, when the **interpolate** method of **springCurve** is used for calculation, an initial velocity greater than 0 means to move in the direction of the end point, and an initial velocity less than 0 means move in the reverse direction of the end point. As a result, when the initial velocity is not 0, the result obtained using the **interpolate** method of **springCurve** in API version 10 is different from that in API version 9.
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci## cl.arkui.5 Change in the Actual Curve Time Estimation Threshold Specification of springCurve
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci**Change Impact**
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ciIn API version 9, the maximum duration estimated by the [interpolate](../../../application-dev/reference/apis/js-apis-curve.md#interpolate9) method of [springCurve](../../../application-dev/reference/apis/js-apis-curve.md#curvesspringcurve9) for the actual spring curve is 1 second. When the physics-based curve duration exceeds 1 second, the estimated duration is still 1 second. As a result, the animation duration of the spring curve that exceeds 1 second is incorrectly normalized, and the interpolation result changes abruptly when t=1.
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ciSince API version 10, the maximum duration estimated by the **interpolate** method of **springCurve** is 1000 seconds, so as to cover most spring curves. This change will result in differences from the calculation results by the **interpolate** method of **springCurve** in API versions earlier than 10.