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

新增特性

变更特性

  • 开发者库演进方面的兼容性能力允许框架的开发者对其框架的 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》,《仓颉工具使用指南》中重大的章节类资料变更