# Change Log

所有 notable 的变更都会被记录在这个文件中。

该项目遵循 [Semantic Versioning](https://semver.org/lang/zh-CN/)。

## [1.0.0]

- **新增**
    - 新增运行时监控变量功能
    - 新增cmake configure快捷按钮
- **优化/调整**
    - 调试器优化断点问题
    - 编译器O2等级优化 如内联与循环展开
    - 链接器死段优化功能同步进行调试信息清理，伪指令常亮表输出，松弛机制优化
- **修复**
    - 修复烧录部分型号芯片失败问题

## [1.0.0-rc]

- **新增**
    - 新增reset功能
    - 新增支持在launch模式下进入到某个函数、文件名：行号、地址以及attach模式下halt和nohalt的启动调试模式
    - ld文件现在支持菜单/command方式自动升级为最新工具链兼容版本
- **优化/调整**
    - ld脚本修改，适配新版汇编器、链接器
    - 优化导入eclipse项目
    - 优化cmake tool在使用时遇到的同步情况

## [1.0.0-beta.2]

- **新增**
  - OpenOCD 日志功能。
  - 支持在 `launch.json` 中参数化配置，在启动 Launch 调试前执行烧录。
- **优化/调整**
  - 优化新建项目模板，并修复部分模板导致的 CMake 功能使用不畅问题。
  - 优化外设寄存器筛选逻辑，支持按寄存器名和模块名搜索。
  - OpenOCD 外置启动的超时时长参数支持用户自定义。
  - eclipse导入功能进一步完善, 覆盖更多的用户场景
  - 构建系统: 将cmake工具链配置文件移到工具链安装目录. 后续随工具链更新.
  - 构建系统: cmake默认模板采用手动列出源码文件方式,而不是之前自动递归扫描的方式. 增加构建可靠性.(已有项目需要自行调整)
  - 构建系统: 默认构建参数调整(-fno-builtin-implicit-function-declaration,-fno-inline-functions)

## [1.0.0-beta.1]

- **发布功能**
  - 支持多KF32项目管理，实现在同一空间目录下对不同的KF32项目提供管理功能；
  - 支持新建新项目，对不同芯片型号提供不同的项目模板；
  - 支持从Eclipse IDE项目导入；
  - 支持在线导入样例项目功能；
  - 支持项目构建功能，支持使用Cmake + Ninja的方式构建KF32项目，并且对构建配置进行管理；
  - 支持程序烧录功能，对KF32单核全系列MCU进行烧录功能。
  - 支持程序调试功能，支持launch & attach模式调试，支持条件断点、日志断点、触发断点等断点，提供了变量视图、watch视图、断点视图等各种功能视图。
