1# ArkCompiler Subsystem Changelog
2
3## cl.ArkCompiler.1 ArkTS Syntax Rule Change
4
5Since OpenHarmony SDK 4.1.5.5, the ArkTS syntax rules are changed as follows.
6
7**Removed**
8
9**arkts-no-decorators-except-arkui**, **arkts-no-side-effects-imports**, **arkts-no-regexp-literals**
10
11**Downgraded**
12
13The severity level of **rules arkts-no-globalthis** and **arkts-no-classes-as-obj** is lowered to warning, which means that they do not block project compilation.
14
15Rule **arkts-no-func-apply-bind-call** is split into the following two rules:
161. **arkts-no-func-apply-call**, at error level
172. **arkts-no-func-bind**, at level warning
18
19Compared with that in the earlier version, the quantity of highlighted code and total number of errors remain unchanged.
20
21**Relaxed**
22
23Rule **arkts-identifiers-as-prop-names** is relaxed. Attribute names can be string literals or string type enumeration constants.
24
25No error is reported in the following code:
26
27```
28enum Test {
29  A = 'aaa',
30  B = 'bbb'
31}
32
33let obj: Record<string, number> = {
34  [Test.A]: 1,   // String type enumeration constants
35  [Test.B]: 2,   // String type enumeration constants
36  ['value']: 3   // String literal
37}
38```
39
40**Change Impact**
41
42There is no compatibility impact. No code adaptation is required.
43
44## cl.ArkCompiler.2 TS Check Change for Third-party Packages
45
46**Access Level**
47
48Other
49
50**Reason for Change**
51
52Code in third-party packages in the **oh_modules** directory must comply with the TS syntax specifications. In versions earlier than 4.0.10.3, an error is reported for any noncompliance. However, due to code implementation, no error is reported for such noncompliance since 4.0.10.3. This change is made to rectify the issue.
53
54**Change Since**
55
56OpenHarmony SDK 4.1.5.5
57
58**Change Impact**
59
60If code that does not comply with TS syntax specifications is contained in a third-party package, an error is reported during compilation.
61
62For example, if a third-party package contains the following code:
63```
64let a: string = 1;
65```
66
67The following error is reported during compilation:
68
69```
70Type 'number' is not assignable to type 'string'.
71```
72
73**Adaptation Guide**
74
75Make sure all code in the third-party package complies with the TS syntax specifications.
76