1# ArkUI Subsystem Changelog
2
3## cl.arkui.1 Change in Handling Rules on Negative Values of fontSize for Buttons
4
5**Change Impact**
6
7Before change, a negative value of **fontSize** evaluates to **0**. That is, the text is not displayed.
8
9After change, a negative value of **fontSize** evaluates to the default value **16fp**.
10
11Note: This change does not affect the effect of **fontSize=0**.
12
13## cl.arkui.2 Change in the Search Text Box for When the Attributes of the \<Search> Component Are Dynamically Changed
14
15**Change Impact**
16
17Before change, when **placeholder**, but not **value**, is set for the **\<Search>** component, dynamically changing the component attributes will clear the search text box.
18
19After change, when **placeholder**, but not **value**, is set for the **\<Search>** component, dynamically changing the component attributes will not clear the search text box.
20
21Note: After change, the behavior of the **\<Search>** component is what is expected of the component in normal cases.
22
23## cl.arkui.3 Change in the Width Specification of the \<Menu> Component
24
25Changed 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.
26
27The **\<Menu>** component has a default minimum width of 64 vp.
28
29**Change Impact**
30
311. 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.
322. 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.
33
34**Key API/Component Changes**
35
36[Menu](../../../application-dev/reference/arkui-ts/ts-basic-components-menu.md)
37
38**Adaptation Guide**
39
40You can set the minimum width to a value less than 64 vp or remove the limit altogether, by setting **constraintSize**.
41
42**Example**
43```ts
44@Entry
45@Component
46struct Index {
47  @Builder
48  MyMenu(){
49    Menu() {
50      MenuItem({ startIcon: $r("app.media.icon"), content: "Menu option" })
51    }
52    .width(30)
53    .constraintSize({minWidth: 0}) //Overwrite the default minimum width of 64 vp.
54  }
55
56  build() {
57    Row() {
58      Column() {
59        Text('click to show menu')
60      }
61      .bindMenu(this.MyMenu)
62      .width('100%')
63    }
64    .height('100%')
65  }
66}
67```
68
69## cl.arkui.4 Change in the Velocity Direction Specification of springCurve
70
71**Change Impact**
72
73In 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.
74
75Since 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.
76
77## cl.arkui.5 Change in the Actual Curve Time Estimation Threshold Specification of springCurve
78
79**Change Impact**
80
81In 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.
82
83Since 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.