Cangjie 1.1.0.alpha.41 Release Notes
版本介绍
该版本版本号 Cangjie 1.1.0.alpha.41 (版本号命名规则详见版本说明书),构建时间 xxx,构建 id xxx。
本版本相对于xxx版本新增,删除,变更特性和修复问题做一个总结,描述需要开发者关注的重大特性和问题修复。
-
本版本新增 xxx,xxx 等特性。
-
删除 xxx,xxx 等特性。
-
xxx 等特性发生了变更。
-
修复了 xxx 等若干 bug。
详见后续章节介绍。
编译器
本版本编译器实现了仓颉 x.y.z 版本 Spec
新增特性
- 互操作支持 ObjC 使用 Cangjie 接口,详见仓颉-ObjC 互操作。
- 互操作支持 ObjC 使用 Cangjie 枚举类型,详见仓颉-ObjC 互操作。
变更特性
- 开发者库演进方面的兼容性能力允许框架的开发者对其框架的 API 进行特定增量的修改,同时仍能与之前的版本保持二进制兼容。经过慎重的审视,我们改进了编译器内部实现以更好地支持该能力。但此次改进引入了破坏性变更,详见 issue 256。这会导致该版本与早期编译产物二进制不兼容,混用可能导致运行错误。
| 变更前 | 变更后 | 适配举例 |
|---|---|---|
| LTS 1.0.0 之后的编译器版本间,编译产物二进制兼容 | 本版本与早期版本编译器的编译产物二进制不兼容,混用可能导致运行时错误 | 使用本版本(及更新版本)编译器对项目代码及其依赖包代码执行全量重编 |
修复问题
注意该节按需提供,若没有,则删除
运行时
新增特性
- 条件编译新增
env内置条件变量,在其他条件变量的基础上提供额外信息,比如目标平台的 ABI (Application Binary Interface),用于消除目标平台之间的歧义。新增特性具体描述详见条件编译
变更特性
注意该节按需提供,若没有,则删除
| 变更前 | 变更后 | 适配举例 |
|---|---|---|
修复问题
注意该节按需提供,若没有,则删除
标准库
变更特性
- 异常链特性:给 Exception 预埋 private 成员变量。
- 反射特性:给 TypeInfo 预埋 private 成员变量。
| 变更前 | 变更后 | 适配举例 |
|---|---|---|
| LTS 1.0.0 之后的 SDK 版本间,编译产物二进制兼容 | 本版本与早期版本 SDK 的编译产物二进制不兼容,混用可能导致运行时错误 | 使用本版本(及更新版本)SDK 对项目代码及其依赖包代码执行全量重编 |
修复问题
-
对 std.fs 的异常信息进行了优化,确保异常包含足够的定位信息。
-
对 Array 完善异常信息导致的性能和 codesize 劣化进行修复。
变更前 变更后 适配举例 LTS 1.0.0 之后的 SDK 版本间,编译产物二进制兼容 使用本版本(或更新版本)SDK 构建的二进制,与早期版本的标准库混用有符号链接问题 使用本版本(及更新版本)SDK 对项目代码及其依赖包代码执行全量重编
工具链
IDE插件
新增特性
- 语言服务适配cjpm combined 和 to-combined:如果模块的cjpm.toml中配置了combined,则在该模块子包中无法联想出root包的符号,并且在子包使用root包符号时提供报错提示。
变更特性
修复问题
cjpm
新增特性
- 中心仓支持 semver 规范版本号(后续统一节奏开放功能)
- 中心仓支持索引机制(后续统一节奏开放功能)
- 提供中心仓使用的开发者资料
变更特性
修复问题
cjdb
新增特性
变更特性
修复问题
cjfmt
新增特性
变更特性
修复问题
cjlint
新增特性
变更特性
修复问题
cjcov
新增特性
变更特性
修复问题
cjprof
新增特性
变更特性
修复问题
cjtrace-recover
新增特性
变更特性
修复问题
HLE
新增特性
注意该节按需提供,若没有,则删除
变更特性
注意该节按需提供,若没有,则删除
| 变更前 | 变更后 | 适配举例 |
|---|---|---|
修复问题
注意该节按需提供,若没有,则删除
遗留问题
| issue | 问题描述 | 影响及规避方案 |
|---|---|---|
文档变更说明
填写《仓颉开发指南》,《仓颉标准库API》,《仓颉工具使用指南》中重大的章节类资料变更