@hmos-library-adapter/fast 0.0.17-beta.0 → 0.0.17-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/node_modules/@hmos-library-adapter/executer/README.md +2 -2
  2. package/node_modules/@hmos-library-adapter/executer/shared/skill-map.json +5 -1
  3. package/node_modules/@hmos-library-adapter/executer/shared/skills/arkts-rules/SKILL.md +400 -0
  4. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/CHANGELOG.md +1391 -0
  5. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/COMPATIBILITY.md +53 -0
  6. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/README.md +123 -0
  7. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/SKILL.md +48 -0
  8. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/agents/upgrade-assess-change.md +37 -0
  9. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/agents/upgrade-fix-file.md +23 -0
  10. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/package.json +19 -0
  11. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/beta1-changes-for-all-apps.md +1793 -0
  12. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/beta1-ux-style-and-effect-changes.md +288 -0
  13. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/beta2-changes-for-all-apps.md +148 -0
  14. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/26.0.0/release-changes-for-all-apps.md +662 -0
  15. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/beta3-os-api-behavior-changes.md +652 -0
  16. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/beta3-ux-style-and-effect-changes.md +222 -0
  17. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/release-os-api-behavior-changes.md +444 -0
  18. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.1(13)/release-ux-style-and-effect-changes.md +221 -0
  19. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.2(14)/os-api-behavior-changes.md +1767 -0
  20. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.2(14)/ux-style-and-effect-changes.md +134 -0
  21. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta1-os-api-behavior-changes.md +430 -0
  22. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta1-ux-style-and-effect-changes.md +49 -0
  23. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta2-os-api-behavior-changes.md +240 -0
  24. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/beta2-ux-style-and-effect-changes.md +90 -0
  25. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.0.3(15)/release-os-api-behavior-changes.md +69 -0
  26. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.1.0(18)/os-api-behavior-changes.md +1294 -0
  27. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/5.1.0(18)/ux-style-and-effect-changes.md +147 -0
  28. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta1-os-api-behavior-changes.md +1019 -0
  29. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta1-ux-style-and-effect-changes.md +153 -0
  30. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta2-os-api-behavior-changes.md +662 -0
  31. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta2-ux-style-and-effect-changes.md +78 -0
  32. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta3-os-api-behavior-changes.md +167 -0
  33. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.0.0(20)/beta5-os-api-behavior-changes.md +52 -0
  34. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs/6.1.0(23)/changes-for-all-apps.md +397 -0
  35. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/changelogs-index.json +883 -0
  36. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/arkts-coding-standards.md +53 -0
  37. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/compatibility.md +207 -0
  38. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/native-adaptation.md +21 -0
  39. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/runtime-functional-tests.md +62 -0
  40. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/sdk-versions.md +77 -0
  41. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/troubleshooting.md +54 -0
  42. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/verification.md +79 -0
  43. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/common/workflow-scan.md +41 -0
  44. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/deprecated/context-migration.md +274 -0
  45. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/deprecated/deprecated-api-adaptation.md +157 -0
  46. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/deprecated/deprecated-api-examples.md +219 -0
  47. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/toolchain/hvigor.md +50 -0
  48. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/har-upgrade.md +60 -0
  49. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/scanner-missed-cases.md +171 -0
  50. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/upgrade-compatibility.md +112 -0
  51. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/upgrade-examples.md +289 -0
  52. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/references/upgrade/upgrade-workflow.md +122 -0
  53. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/references/generate-behavior-policy.mjs +96 -0
  54. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/references/references.mjs +9 -0
  55. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/regression/compare-deprecated.mjs +57 -0
  56. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/regression/compare-golden.mjs +130 -0
  57. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/regression/regress-deprecated.mjs +120 -0
  58. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/behavior-catalog-generation.test.mjs +59 -0
  59. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/behavior-local-sources.test.mjs +44 -0
  60. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/changelog-index.test.mjs +66 -0
  61. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/compare-golden.test.mjs +103 -0
  62. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/fixtures/behavior/local-sources.csv +5 -0
  63. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/references.test.mjs +16 -0
  64. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/skill-content.test.mjs +139 -0
  65. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/skill-frontmatter.test.mjs +11 -0
  66. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/test/test-suite.test.mjs +65 -0
  67. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/validation/skill-content.mjs +125 -0
  68. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/validation/skill-frontmatter.mjs +6 -0
  69. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/maintenance/validation/validate-skill.mjs +57 -0
  70. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/CHANGELOG.md +506 -0
  71. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/GOLDEN_VALIDATION.md +42 -0
  72. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/README.md +137 -0
  73. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/behavior/behavior-policy.mjs +117 -0
  74. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/behavior/upgrade-coverage.mjs +29 -0
  75. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/bin/deveco-worker-compat.cjs +21 -0
  76. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/bin/harmony-api-scan.mjs +17 -0
  77. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/cli.mjs +416 -0
  78. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/deveco.mjs +348 -0
  79. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/project.mjs +81 -0
  80. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/rules.mjs +425 -0
  81. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/runtime-identity.mjs +23 -0
  82. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/scan-runner.mjs +521 -0
  83. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/core/sdk-deprecations.mjs +204 -0
  84. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/data/behavior-change-policy.json +4378 -0
  85. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/deprecated/arkts-deprecations.mjs +363 -0
  86. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/deprecated/build-log.mjs +72 -0
  87. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/native/native.mjs +95 -0
  88. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/package.json +16 -0
  89. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/batch-layout.test.mjs +94 -0
  90. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/behavior-policy.test.mjs +75 -0
  91. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/build-log.test.mjs +69 -0
  92. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/cli.test.mjs +102 -0
  93. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/csv.test.mjs +35 -0
  94. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/deprecations.test.mjs +283 -0
  95. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/deveco.test.mjs +262 -0
  96. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/helpers/scan-batch.mjs +10 -0
  97. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/native.test.mjs +108 -0
  98. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/project.test.mjs +42 -0
  99. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/rules.test.mjs +190 -0
  100. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/runtime-identity.test.mjs +53 -0
  101. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/scan-mode.test.mjs +38 -0
  102. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/scan-runner.test.mjs +481 -0
  103. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/scan-scope.test.mjs +110 -0
  104. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/source-inputs.test.mjs +64 -0
  105. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/scanner/test/upgrade.test.mjs +164 -0
  106. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/args.mjs +66 -0
  107. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/csv.mjs +85 -0
  108. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/json5.mjs +92 -0
  109. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/upgrade-results.mjs +45 -0
  110. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/format/zip.mjs +87 -0
  111. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/io/fs-utils.mjs +60 -0
  112. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/artifact-layout.mjs +74 -0
  113. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/changelog-index.mjs +29 -0
  114. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/deveco-version.mjs +40 -0
  115. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/document-links.mjs +30 -0
  116. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/errors.mjs +41 -0
  117. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/fs.mjs +72 -0
  118. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/paths.mjs +34 -0
  119. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/process.mjs +154 -0
  120. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-mode.mjs +7 -0
  121. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-statistics.mjs +7 -0
  122. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-version-catalog.json +43 -0
  123. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/scan-versions.mjs +51 -0
  124. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/sdk-layout.mjs +27 -0
  125. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/source-scope.mjs +108 -0
  126. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/source-types.mjs +7 -0
  127. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/platform/version.mjs +76 -0
  128. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/deveco-version.test.mjs +50 -0
  129. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/document-links.test.mjs +13 -0
  130. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/errors.test.mjs +40 -0
  131. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/fs-utils.test.mjs +31 -0
  132. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/platform-paths.test.mjs +19 -0
  133. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/process-utils.test.mjs +68 -0
  134. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/scan-versions.test.mjs +26 -0
  135. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/sdk-version.test.mjs +17 -0
  136. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/shared/test/upgrade-results.test.mjs +140 -0
  137. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/scripts/test-suite.mjs +29 -0
  138. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/deprecated-report.md +86 -0
  139. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/progress.md +150 -0
  140. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/results.md +110 -0
  141. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/upgrade-report.md +105 -0
  142. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/upgrade-spec.md +58 -0
  143. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-api-upgrade-adapter/templates/upgrade-test-report.md +47 -0
  144. package/node_modules/@hmos-library-adapter/executer/shared/skills/harmonyos-knowledge/SKILL.md +70 -0
  145. package/node_modules/@hmos-library-adapter/executer/src/config.js +3 -4
  146. package/node_modules/@hmos-library-adapter/executer/src/doctor.js +1 -1
  147. package/node_modules/@hmos-library-adapter/executer/src/install.js +1 -1
  148. package/node_modules/@hmos-library-adapter/executer/src/paths.js +4 -4
  149. package/package.json +1 -1
@@ -0,0 +1,662 @@
1
+ ---
2
+ title: OS平台API行为的变更
3
+ source: https://developer.huawei.com/consumer/cn/doc/harmonyos-releases/changelogs-for-all-apps-6002
4
+ category: harmonyos-releases
5
+ downloaded_at: 2026-09-03
6
+ ---
7
+
8
+ # OS平台API行为的变更
9
+
10
+ ## Ability Kit
11
+
12
+ ### Ability Kit相关公共事件行为变更,增加管控
13
+
14
+ **变更原因**
15
+
16
+ Ability Kit部分公共事件中包含应用信息,需要增加管控措施。
17
+
18
+ **变更影响**
19
+
20
+ 此变更涉及应用适配。
21
+
22
+ 对于公共事件[COMMON\_EVENT\_PACKAGE\_ADDED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_added)、[COMMON\_EVENT\_PACKAGE\_REMOVED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_removed)、[COMMON\_EVENT\_PACKAGE\_CHANGED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_changed)、[COMMON\_EVENT\_PACKAGE\_RESTARTED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_restarted)、[COMMON\_EVENT\_PACKAGE\_DATA\_CLEARED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_data_cleared)、[COMMON\_EVENT\_PACKAGE\_CACHE\_CLEARED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_cache_cleared)、[COMMON\_EVENT\_QUICK\_FIX\_APPLY\_RESULT](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_quick_fix_apply_result)的订阅方增加了管控。
23
+
24
+ 变更前,系统应用和三方应用都可以监听到相关事件。
25
+
26
+ 变更后,系统应用可以监听自身应用和其他应用的相关事件,而三方应用只能监听到自身应用的相关事件。
27
+
28
+ **起始API Level**
29
+
30
+ 9
31
+
32
+ **变更的接口/组件**
33
+
34
+ 变更的公共事件列表:
35
+
36
+ | 事件名称 | 描述 |
37
+ | --- | --- |
38
+ | [COMMON_EVENT_PACKAGE_ADDED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_added) | 应用安装完成的事件。 |
39
+ | [COMMON_EVENT_PACKAGE_REMOVED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_removed) | 应用卸载完成的事件。 |
40
+ | [COMMON_EVENT_PACKAGE_CHANGED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_changed) | 应用更新完成的事件。 |
41
+ | [COMMON_EVENT_PACKAGE_RESTARTED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_restarted) | 应用重新启动的事件。 |
42
+ | [COMMON_EVENT_PACKAGE_DATA_CLEARED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_data_cleared) | 应用数据清理完成的事件。 |
43
+ | [COMMON_EVENT_PACKAGE_CACHE_CLEARED](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_package_cache_cleared) | 应用缓存数据清理完成的事件。 |
44
+ | [COMMON_EVENT_QUICK_FIX_APPLY_RESULT](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/commoneventmanager-definitions#common_event_quick_fix_apply_result) | 应用使能快速修复包完成的事件。 |
45
+
46
+ **适配指导**
47
+
48
+ 如果使用上述公共事件判断应用是否安装,请改用[canOpenLink](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-bundlemanager#bundlemanagercanopenlink12)接口来查询应用是否存在。
49
+
50
+ ## ArkTS
51
+
52
+ ### TreeSet/TreeMap扩容导致比较器丢失问题正向修复
53
+
54
+ **变更原因**
55
+
56
+ 使用TreeSet/TreeMap模块的add接口触发扩容时,TreeSet/TreeMap自定义比较器会在扩容后丢失,导致扩容之后进行系统默认排序。
57
+
58
+ **变更影响**
59
+
60
+ 此变更涉及应用适配。
61
+
62
+ **说明**
63
+
64
+ 此变更已做版本隔离,变更仅在应用的targetSdkVersion设置为大于等于6.0.0(20)时生效。
65
+
66
+ 变更前:
67
+
68
+ 对于下述代码,预期结果与实际执行结果不一致,结果出现错误。
69
+
70
+ 原因在于扩容后比较器丢失,remove(a1)失败,后续行为异常。
71
+
72
+ ```typescript
73
+ import { TreeSet } from '@kit.ArkTS';
74
+
75
+ class A {
76
+ time: number;
77
+ constructor(time: number) {
78
+ this.time = time;
79
+ }
80
+ static readonly compared = ((first: A, second: A): number => {
81
+ return second.time - first.time;
82
+ }) as Function as (first: A, second: A) => boolean;
83
+ }
84
+ const a1 = new A(1);
85
+ const a2 = new A(2);
86
+ const a3 = new A(3);
87
+ const a4 = new A(4);
88
+ const a5 = new A(5);
89
+ const a6 = new A(6);
90
+ const set = new TreeSet<A>(A.compared); // 在add扩容后A.compared丢失
91
+ set.add(a1);
92
+ set.add(a2);
93
+ set.add(a3); // 触发扩容,A.compared丢失
94
+ set.add(a4);
95
+ set.add(a5);
96
+ set.add(a6);
97
+ for (let i = 0; i < 5; ++i) {
98
+ set.remove(a1); // 同一个红黑树前后用了两种比较规则,数据结构的性质被破坏
99
+ console.info(set.has(a1).toString());
100
+ // 预期结果:false、false、false、false、false
101
+ // 实际结果:false、false、true、true、true
102
+ set.add(a1);
103
+ }
104
+ for (let item of set) {
105
+ console.info(item.time.toString());
106
+ // 预期结果:6、5、4、3、2、1
107
+ // 实际结果:6、1、1
108
+ }
109
+ ```
110
+
111
+ 变更后:
112
+
113
+ TaggedTree比较器扩容前后一致,TaggedTree的所有add、remove都用同一个比较规则,输出结果与预期一致。
114
+
115
+ **起始API Level**
116
+
117
+ 8
118
+
119
+ **变更的接口/组件**
120
+
121
+ TreeSet、TreeMap
122
+
123
+ **适配指导**
124
+
125
+ 行为变更,绝大多数情况不需要开发者进行适配。
126
+
127
+ 只有当开发者用到自定义比较器,且将原本错误的结果当成正确的结果进行使用时,需注意TreeSet/TreeMap结果的变化,并按照修复后的结果进行代码适配。
128
+
129
+ ## ArkUI
130
+
131
+ ### 位置控件功能变更
132
+
133
+ **变更原因**
134
+
135
+ 从最新的大数据分析,在需要获取位置信息时,大部分应用使用地图picker或者权限弹窗来申请位置权限,仅有极少数应用使用位置控件,该特性的价值有限,经谨慎评估将该特性下架。
136
+
137
+ 位置控件已经在API 15版本开始废弃,此次需要将位置控件的接口删除。
138
+
139
+ **变更影响**
140
+
141
+ 该变更涉及应用适配。
142
+
143
+ 变更前:
144
+
145
+ 应用界面上集成位置控件,用户点击位置控件后,应用可获取临时的位置权限。其中,用户首次在应用中使用位置控件时,会弹出确认弹窗请求用户允许或者拒绝。
146
+
147
+ 变更后:
148
+
149
+ 1. 位置控件相关的接口从SDK中删除。
150
+ 2. 升级镜像后,存量的应用可以继续使用位置控件功能。位置控件每次被点击后,都会弹出确认弹窗请求用户允许或者拒绝。
151
+
152
+ **起始API Level**
153
+
154
+ 10
155
+
156
+ **变更的接口/组件**
157
+
158
+ @internal/component/ets/location\_button.d.ts中所有接口。
159
+
160
+ **适配指导**
161
+
162
+ 开发者通过权限弹窗申请用户授权,指导:[申请应用权限](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/request-user-authorization)。
163
+
164
+ ### 通用属性drawModifier接口行为变更
165
+
166
+ **变更原因**
167
+
168
+ (1)当drawModifier接口参数从DrawModifier对象变为undefined时,实际生效的仍是原来的DrawModifier对象。开发者无法重置其值,这与通用属性接口的规范不符。
169
+
170
+ (2)当前实现中,若组件设置了drawModifier属性,则默认会在生命周期的布局阶段之后触发重绘。对于绘制内容和尺寸均未发生变化的场景,这将导致多余的重绘,造成性能损耗。因此,调整设置drawModifier的节点的重绘规则,默认仅执行过测量过程的节点才进行重绘。
171
+
172
+ **变更影响**
173
+
174
+ 此变更涉及应用适配。
175
+
176
+ - 变更前:(1)drawModifier接口参数从DrawModifier对象变为undefined后,生效的仍旧是原来的DrawModifier对象。(2)任何组件,如果设置了drawModifier属性,无论是否跳过测量(尺寸是否发生变化),都会触发重绘。
177
+
178
+ - 变更后:(1)drawModifier接口参数从DrawModifier对象变为undefined后,会将原来设置的值重置为undefined。(2)任何组件,如果设置了drawModifier属性,当其未跳过测量(尺寸可能发生变化)时,就会触发重绘。
179
+
180
+
181
+ **起始API Level**
182
+
183
+ 12
184
+
185
+ **变更的接口/组件**
186
+
187
+ drawModifier
188
+
189
+ **适配指导**
190
+
191
+ (1)变更前,this.modifier = undefined;不会清除组件上生效的DrawModifier对象,而变更后则会完成清除。因此,若想保持行为不变,需要注释或删除这一行代码。
192
+
193
+ (2)若开发者的自定义绘制内容变化逻辑受到本次变更影响,在受影响属性变化的代码后加入invalidate以主动触发重绘,即可完成适配。
194
+
195
+ 具体适配方案可参考下文示例。
196
+
197
+ ```typescript
198
+ import { drawing } from '@kit.ArkGraphics2D';
199
+
200
+ class MyFrontDrawModifier extends DrawModifier {
201
+ public scaleX: number = 1;
202
+ public scaleY: number = 1;
203
+ public uiContext: UIContext;
204
+
205
+ constructor(uiContext: UIContext) {
206
+ super();
207
+ this.uiContext = uiContext;
208
+ }
209
+
210
+ drawFront(context: DrawContext): void {
211
+ const brush = new drawing.Brush();
212
+ brush.setColor({
213
+ alpha: 255,
214
+ red: 0,
215
+ green: 0,
216
+ blue: 255
217
+ });
218
+ context.canvas.attachBrush(brush);
219
+ const halfWidth = context.size.width / 2;
220
+ const halfHeight = context.size.width / 2;
221
+ const radiusScale = (this.scaleX + this.scaleY) / 2;
222
+ context.canvas.drawCircle(this.uiContext.vp2px(halfWidth), this.uiContext.vp2px(halfHeight), this.uiContext.vp2px(20 * radiusScale));
223
+ }
224
+ }
225
+
226
+ @Entry
227
+ @Component
228
+ struct DrawModifierExample {
229
+ @State public modifierToBeCleared: DrawModifier | undefined = new MyFrontDrawModifier(this.getUIContext());
230
+ public modifierToBeChanged: MyFrontDrawModifier = new MyFrontDrawModifier(this.getUIContext());
231
+ @State public testWidth: number = 100;
232
+
233
+ build() {
234
+ Column() {
235
+ Button("clearModifier").onClick(() => {
236
+ // 变更前:下面代码不生效,Row组件仍旧绑定原本的modifier
237
+ this.modifierToBeCleared = undefined;
238
+ // 规避方法:变更前若想清空Text组件的自定义绘制效果,可将其绑定的变量变为基类对象
239
+ this.modifierToBeCleared = new DrawModifier();
240
+ // 变更后:若开发者期望行为和变更前保持一致,即下面代码不生效的话,只需要注释掉这一行即可
241
+ // this.modifierToBeCleared = undefined;
242
+ })
243
+ Column() {
244
+ Row()
245
+ .width(100)
246
+ .height(100)
247
+ .margin(10)
248
+ .backgroundColor(Color.Gray)
249
+ .drawModifier(this.modifierToBeCleared)
250
+ }
251
+ .margin({ bottom: 50 })
252
+ Button('changeModifier')
253
+ .onClick(() => {
254
+ this.testWidth++;
255
+ this.modifierToBeChanged.scaleX += 0.1;
256
+ this.modifierToBeChanged.scaleY += 0.1;
257
+ // 变更前自动更新,变更后需要手动调用invalidate方法适配
258
+ this.modifierToBeChanged?.invalidate();
259
+ })
260
+ Column() {
261
+ Row()
262
+ .width(100)
263
+ .height(100)
264
+ .margin(10)
265
+ .backgroundColor(Color.Gray)
266
+ .drawModifier(this.modifierToBeChanged)
267
+ Row() {
268
+ Text("hello world")
269
+ .width(this.testWidth)
270
+ .height(100)
271
+ }
272
+ }
273
+ .width(300)
274
+ .height(300)
275
+ }
276
+ }
277
+ }
278
+ ```
279
+
280
+ ### 半模态SIDE侧边样式新增避让软键盘能力
281
+
282
+ **变更原因**
283
+
284
+ [bindSheet](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#bindsheet)半模态弹窗侧边样式默认支持避让软键盘,提升易用性。
285
+
286
+ **变更影响**
287
+
288
+ 此变更涉及应用适配。
289
+
290
+ - 变更前:当半模态样式指定为[SheetType](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#sheettype11枚举说明)的SIDE侧边样式时,[bindSheet](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#bindsheet)的属性keyboardAvoidMode设置为[SheetKeyboardAvoidMode](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#sheetkeyboardavoidmode13枚举说明)的避让软键盘方式无效,半模态默认不避让软键盘,需要开发者自定义避让软键盘。
291
+
292
+ - 变更后:当半模态样式指定为[SheetType](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#sheettype11枚举说明)的SIDE侧边样式时,[bindSheet](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#bindsheet)的属性keyboardAvoidMode设置为[SheetKeyboardAvoidMode](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#sheetkeyboardavoidmode13枚举说明)的避让软键盘方式将生效,半模态支持避让软键盘,默认值为SheetKeyboardAvoidMode.TRANSLATE\_AND\_SCROLL。若开发者希望自定义避让软键盘,则需设置属性keyboardAvoidMode = SheetKeyboardAvoidMode.NONE。
293
+
294
+
295
+ **起始API Level**
296
+
297
+ - bindSheet:10
298
+
299
+ - SheetType:11
300
+
301
+
302
+ **变更的接口/组件**
303
+
304
+ - bindSheet的keyboardAvoidMode属性
305
+
306
+ - SheetType的SIDE半模态侧边样式
307
+
308
+
309
+ **适配指导**
310
+
311
+ 默认行为变更,当半模态样式指定为[SheetType](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#sheettype11枚举说明)的SIDE侧边样式时,若开发者期望自定义避让软键盘,则需要设置[bindSheet](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#bindsheet)的属性keyboardAvoidMode = [SheetKeyboardAvoidMode](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#sheetkeyboardavoidmode13枚举说明).NONE。
312
+
313
+ 若开发者期望采用半模态控件自带的避让软键盘能力,则可以设置[bindSheet](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#bindsheet)的属性keyboardAvoidMode = [SheetKeyboardAvoidMode](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-sheet-transition#sheetkeyboardavoidmode13枚举说明)的其他枚举值,或者不设置属性keyboardAvoidMode,采用默认值。
314
+
315
+ ### CanvasRenderer的font接口支持自定义字体行为变更
316
+
317
+ **变更原因**
318
+
319
+ 增强基础能力,CanvasRenderer的font接口支持设置自定义字体。
320
+
321
+ **变更影响**
322
+
323
+ 此变更涉及应用适配。
324
+
325
+ 变更前,CanvasRenderer的font接口设置自定义字体不生效,绘制字体显示为默认字体。
326
+
327
+ 变更后,CanvasRenderer的font接口设置自定义字体生效,绘制字体显示为自定义字体。
328
+
329
+ ```typescript
330
+ import { text } from "@kit.ArkGraphics2D"
331
+
332
+ // xxx.ets
333
+ @Entry
334
+ @Component
335
+ struct FontDemo {
336
+ private settings: RenderingContextSettings = new RenderingContextSettings(true)
337
+ private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)
338
+
339
+ build() {
340
+ Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
341
+ Canvas(this.context)
342
+ .width('100%')
343
+ .height('100%')
344
+ .backgroundColor('rgb(213,213,213)')
345
+ .onReady(() => {
346
+ let fontCollection = text.FontCollection.getGlobalInstance();
347
+ fontCollection.loadFontSync('HarmonyOS_Sans_Thin_Italic', $rawfile("HarmonyOS_Sans_Thin_Italic.ttf"))
348
+ this.context.font = "50px HarmonyOS_Sans_Thin_Italic"
349
+ this.context.fillText("Hello World", 20, 60)
350
+ })
351
+ }
352
+ .width('100%')
353
+ .height('100%')
354
+ }
355
+ }
356
+ ```
357
+
358
+ | 变更前 | 变更后 |
359
+ | --- | --- |
360
+ | ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/ca/v3/QnYE67-wThSt5I1unixdUw/zh-cn_image_0000002394437625.jpg?HW-CC-KV=V1&HW-CC-Date=20260903T083912Z&HW-CC-Expire=86400&HW-CC-Sign=6F5DAC72E13F845EE0D7E4FC82354721CB6A025856C11E1DC240674616BE4556) | ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/e5/v3/8DlrxhAuRieQRevkSwckiA/zh-cn_image_0000002360957584.jpg?HW-CC-KV=V1&HW-CC-Date=20260903T083912Z&HW-CC-Expire=86400&HW-CC-Sign=EAB0791568273E11B23ACCCFC9FAD84607D2C674BE3CD15658CA56CFCD4B2D00) |
361
+
362
+ **起始API Level**
363
+
364
+ 8
365
+
366
+ **变更的接口/组件**
367
+
368
+ CanvasRenderingContext2D和OffscreenCanvasRenderingContext2D的font接口。
369
+
370
+ **适配指导**
371
+
372
+ 变更后,CanvasRenderer的font接口设置自定义字体生效。若需保持变更前的默认字体行为,可以不设置自定义字体。
373
+
374
+ ### 去除保存控件系统提示弹框变更
375
+
376
+ **变更原因**
377
+
378
+ 当前,保存控件支持自定义UI样式。应用选择使用自定义UI,当用户点击保存控件,成功保存媒体库文件时,系统将弹出系统弹框提示用户。在开发过程中,开发者可以调用指定API调整该系统弹框的位置。
379
+
380
+ 保存控件系统提示弹框:
381
+
382
+ ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/21/v3/pEEHh5pWQya4XENWuzpk3w/zh-cn_image_0000002394557509.png?HW-CC-KV=V1&HW-CC-Date=20260903T083912Z&HW-CC-Expire=86400&HW-CC-Sign=CCA214D44E7F7CE914CA535F20ACF20DA4E75CE823EE0F5610F70C8E483B0B8A)
383
+
384
+ 经评估,强制弹出系统弹框会与应用内已有弹框冲突,体验不够友好,系统将取消该系统强制弹框的行为。
385
+
386
+ **变更影响**
387
+
388
+ 该变更涉及应用适配。
389
+
390
+ 变更前:当开发者需要自定义保存控件的图标和文本时,或者保存控件不满足[约束与限制](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/security-component-overview#约束与限制),点击保存控件时会弹出系统提示弹框。开发者可以使用tipPosition接口设置保存控件系统提示弹框展示在屏幕上的位置。
391
+
392
+ 变更后:保存控件被点击后不会弹出系统提示弹框。开发者无法调用系统提示弹框的位置设置接口tipPosition。应用可根据自身UX设计,自行选择是否实现应用内保存提示。
393
+
394
+ **起始API Level**
395
+
396
+ 20
397
+
398
+ **变更的接口/组件**
399
+
400
+ 删除接口如下:
401
+
402
+ | 类名 | 删除接口声明 |
403
+ | --- | --- |
404
+ | SaveButtonAttribute | tipPosition(position: SaveButtonTipPosition) |
405
+
406
+ 删除枚举如下:
407
+
408
+ | 枚举类型 | 删除的键值 |
409
+ | --- | --- |
410
+ | SaveButtonTipPosition | ABOVE_BOTTOM |
411
+ | SaveButtonTipPosition | BELOW_TOP |
412
+
413
+ **适配指导**
414
+
415
+ 取消对设置系统提示位置接口tipPosition的调用,否则会导致编译和运行失败。
416
+
417
+ ## Basic Services Kit
418
+
419
+ ### zlib.unzipFile和zlib.decompressFile解压文件接口变更
420
+
421
+ **变更原因**
422
+
423
+ 解压文件时,针对格式有误的压缩包进行拦截,避免解压之后的文件不符合预期。
424
+
425
+ **变更影响**
426
+
427
+ 此变更涉及应用适配。
428
+
429
+ 变更前,对于格式有误的压缩包能够正常解压成功,但解压出来的内容不符合预期。
430
+
431
+ 变更后,对于格式有误的压缩包会解压失败,抛出文件格式有误的错误码。
432
+
433
+ **起始API Level**
434
+
435
+ 9
436
+
437
+ **变更的接口/组件**
438
+
439
+ zlib.unzipFile
440
+
441
+ zlib.decompressFile
442
+
443
+ **适配指导**
444
+
445
+ 调用zlib.unzipFile和zlib.decompressFile接口时,需要捕获接口异常,根据返回的错误码进行处理,检查传入的压缩包是否有误。
446
+
447
+ ## Data Augmentation Kit
448
+
449
+ ### retrieval.VectorQuery接口value字段变更为可选
450
+
451
+ **变更原因**
452
+
453
+ 支持在检索接口中,自动将query生成向量。
454
+
455
+ **变更影响**
456
+
457
+ 此变更涉及应用适配。
458
+
459
+ 必选参数改为可选参数,未适配应用编译会报错。
460
+
461
+ **起始API Level**
462
+
463
+ 6.0.0(20)
464
+
465
+ **变更的接口/组件**
466
+
467
+ retrieval.VectorQuery接口的value字段
468
+
469
+ **适配指导**
470
+
471
+ 前提:该接口的上级节点为RecallCondition,如果传入了RecallCondition,则认为需要进行向量检索,此时就需要开发者在value接口传入query向量,或系统生成query向量,用于检索。
472
+
473
+ 情况1:如果开发者正常填入value字段:则不需适配。
474
+
475
+ 情况2:如果开发者未填入该字段:变更前,将该字段作为入参的方法会报错,完全无法正常使用;变更后,会自动生成向量并正常执行检索。
476
+
477
+ 情况3:使用retrieval.VectorQuery接口的value属性,对新定义的变量赋值,需要做如下修改:
478
+
479
+ ```
480
+ let floatArray = new Float32Array([0.1, 0.2]);
481
+ let vectorQuery:retrieval.VectorQuery = {
482
+ column:"keywords",
483
+ value:floatArray,
484
+ similarityThreshold:0.35
485
+ }
486
+
487
+ let value1:Float32Array = vectorQuery.value; // 错误写法:value变更为可选字段后,编译报错
488
+ let value2:Float32Array | undefined = vectorQuery.value; // 正确写法
489
+ ```
490
+
491
+ ## Localization Kit
492
+
493
+ ### 泰国、沙特阿拉伯、阿富汗和伊朗的默认历法变更
494
+
495
+ **变更原因**
496
+
497
+ 泰国、沙特阿拉伯、阿富汗和伊朗的默认历法配置错误。
498
+
499
+ **变更影响**
500
+
501
+ 此变更不涉及应用适配。
502
+
503
+ 变更前:泰国的默认历法为佛历,沙特阿拉伯的默认历法为伊斯兰历,阿富汗和伊朗的默认历法为波斯历。例如,创建[intl.DateTimeFormat](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-intl#datetimeformatdeprecated)时,传入地区为泰国,则调用[format](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-intl#formatdeprecated)接口时,会使用佛历显示日期。
504
+
505
+ 变更后:泰国、沙特阿拉伯、阿富汗和伊朗的默认历法均为公历。例如,创建[intl.DateTimeFormat](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-intl#datetimeformatdeprecated)时,传入地区为泰国,则调用[format](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-intl#formatdeprecated)接口时,会使用公历显示日期。
506
+
507
+ **起始API Level**
508
+
509
+ 8
510
+
511
+ **变更的接口/组件**
512
+
513
+ | 文件 | 接口 |
514
+ | --- | --- |
515
+ | @ohos.intl.d.ts | [intl.DateTimeFormat.prototype.format](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-intl#formatdeprecated) |
516
+ | @ohos.intl.d.ts | [intl.DateTimeFormat.prototype.formatRange](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-intl#formatrangedeprecated) |
517
+ | @ohos.i18n.d.ts | [i18n.Calendar.prototype.getDisplayName](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-i18n#getdisplayname8) |
518
+ | @ohos.i18n.d.ts | [i18n.Calendar.prototype.get](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-i18n#get8) |
519
+
520
+ **适配指导**
521
+
522
+ 仅改变接口内部使用的历法,无需开发者进行适配。
523
+
524
+ ## NDK开发
525
+
526
+ ### libc++ condition\_variable::wait\_for接口变更
527
+
528
+ **变更原因**
529
+
530
+ 变更前,libc++库condition\_variable::wait\_for接口使用系统墙上时间,受到修改系统时间的影响,和开发者预期不符合。
531
+
532
+ ```
533
+ template <class _Rep, class _Period>
534
+ cv_status
535
+ condition_variable::wait_for(unique_lock<mutex>& __lk,
536
+ const chrono::duration<_Rep, _Period>& __d)
537
+ {
538
+ ...
539
+
540
+ #if defined(_LIBCPP_HAS_COND_CLOCKWAIT)
541
+ using __clock_tp_ns = time_point<steady_clock, nanoseconds>;
542
+ __ns_rep __now_count_ns = _VSTD::__safe_nanosecond_cast(__c_now.time_since_epoch()).count();
543
+ #else
544
+ using __clock_tp_ns = time_point<system_clock, nanoseconds>;
545
+ __ns_rep __now_count_ns = _VSTD::__safe_nanosecond_cast(system_clock::now().time_since_epoch()).count();
546
+ #endif
547
+
548
+ ...
549
+ __do_timed_wait(...);
550
+ ...
551
+ }
552
+ ```
553
+ ```
554
+ void
555
+ condition_variable::__do_timed_wait(unique_lock<mutex>& lk,
556
+ chrono::time_point<chrono::system_clock, chrono::nanoseconds> tp) noexcept
557
+ {
558
+ ...
559
+ nanoseconds d = tp.time_since_epoch();
560
+ if (d > nanoseconds(0x59682F000000E941))
561
+ d = nanoseconds(0x59682F000000E941);
562
+ ...
563
+ int ec = __libcpp_condvar_timedwait(&__cv_, lk.mutex()->native_handle(), &ts);
564
+ ...
565
+ }
566
+ ```
567
+
568
+ 其中0x59682F000000E941 ns = 6442450944s = 2174-02-25 17:42:24,当系统当前时间加上wait\_for接口入参需要等待的时间超过该值时被截断,\_\_libcpp\_condvar\_timedwait会立即返回。
569
+
570
+ **变更影响**
571
+
572
+ 此变更涉及应用适配。
573
+
574
+ - 变更前:libc++库condition\_variable::wait\_for接口使用系统墙上时间,受修改系统时间影响;当系统当前时间加上接口入参需要等待的时间超过特定值(0x59682F000000E941),condition\_variable::wait\_for接口会立即返回。
575
+
576
+ - 变更后:libc++库condition\_variable::wait\_for接口使用单调递增时间,不受修改系统时间影响。
577
+
578
+
579
+ **起始API Level**
580
+
581
+ 9
582
+
583
+ **适配指导**
584
+
585
+ libc++库以二进制的形式发布在NDK中(libc++\_shared.so)。condition\_variable::wait\_for接口原型未变,只是实现和C++标准、安卓、iOS、Windows等平台保持一致,开发者更新NDK后重新编译应用即可。
586
+
587
+ ## Share Kit
588
+
589
+ ### on('dataReceive')接口新增必填参数capabilities
590
+
591
+ **变更原因**
592
+
593
+ 若应用在PC/2in1侧接入了沙箱接收,手机到PC/2in1碰一碰会将手机侧分享的所有数据都给到应用,考虑到不同应用能处理的数据类型存在差异。为防止手机侧分享的数据在PC/2in1侧应用无法处理带来的用户体验问题,针对PC/2in1侧沙箱接收的接口做出调整。RecvCapabilityRegistry新增必填参数capabilities,需应用配置支持的数据类型及最大数量。
594
+
595
+ **变更影响**
596
+
597
+ 沙箱接收注册接口新增必填参数,此变更涉及应用适配,未适配应用编译会报错。
598
+
599
+ **起始API Level**
600
+
601
+ 6.0.0(20)
602
+
603
+ **变更的接口/组件**
604
+
605
+ on('dataReceive')/off('dataReceive')接口第二个参数RecvCapabilityRegistry新增必填参数capabilities。
606
+
607
+ **适配指导**
608
+
609
+ 新增必填参数capabilities,应用接入沙箱接收能力时,需配置支持接收的数据类型及最大数量。
610
+
611
+ ```typescript
612
+ import { uniformTypeDescriptor as utd } from '@kit.ArkData';
613
+ import { systemShare, harmonyShare } from '@kit.ShareKit';
614
+ import { common } from '@kit.AbilityKit';
615
+
616
+ @Component
617
+ export default struct Index {
618
+ aboutToAppear(): void {
619
+ let capabilityRegistry: harmonyShare.RecvCapabilityRegistry = {
620
+ windowId: 999, // 此值仅为示例 实际使用时请替换正确的windowId
621
+ capabilities: [{
622
+ utd: utd.UniformDataType.IMAGE, // 仅可接收图片类型文件
623
+ maxSupportedCount: 1, // 最大可接收1个文件
624
+ }]
625
+ }
626
+ // 注册沙箱接收'dataReceive'监听事件
627
+ harmonyShare.on('dataReceive', capabilityRegistry, (receivableTarget: harmonyShare.ReceivableTarget) => {
628
+ let uiContext: UIContext = this.getUIContext();
629
+ let context = uiContext.getHostContext() as common.UIAbilityContext;
630
+ receivableTarget.receive(context.filesDir, {
631
+ // 此路径仅为示例 使用时请替换实际路径
632
+ onDataReceived: (sharedData: systemShare.SharedData) => {
633
+ let sharedRecords = sharedData.getRecords();
634
+ sharedRecords.forEach((record: systemShare.SharedRecord) => {
635
+ // 处理分享数据
636
+ });
637
+ },
638
+ onResult(resultCode: harmonyShare.ShareResultCode) {
639
+ if (resultCode === harmonyShare.ShareResultCode.SHARE_SUCCESS) {
640
+ // To do things.
641
+ }
642
+ }
643
+ });
644
+ });
645
+ }
646
+
647
+ aboutToDisappear(): void {
648
+ let capabilityRegistry: harmonyShare.RecvCapabilityRegistry = {
649
+ windowId: 999, // 此值仅为示例 实际使用时请替换正确的windowId
650
+ capabilities: [{
651
+ utd: utd.UniformDataType.IMAGE,
652
+ maxSupportedCount: 1,
653
+ }]
654
+ }
655
+ // 解除沙箱接收'dataReceive'监听事件
656
+ harmonyShare.off('dataReceive', capabilityRegistry);
657
+ }
658
+
659
+ build() {
660
+ }
661
+ }
662
+ ```