中文
✨ 功能
- general: 在上下文菜单中按下 Shift 键时,刷新字体缓存
 - general: 新配置面板
 - general: 优化枚举处理并更新 breeze-ui 包配置
 - general: 支持 360FileBrowser
 - general: 设置渲染线程名称,更新 breeze-ui
 - general: 实现 breeze-taskbar (#271)
 - js: 实现屏幕侧边按钮
 - js: 向 menu_controller 添加 get_widget 方法
 - js: 为 breeze_ui::window::create_ex 添加 on_close 支持
 - js: 实现 breeze.set_can_reload_js
 - js: 实现 
max_height、enable_scrolling、enable_child_clipping、crop_overflow - js: flex grow, text max width
 - js: 在循环任务中执行 js 事件回调
 - js: 禁用最大堆栈大小检查
 - js: 实现 on_mouse_up 回调
 - js: 将 flex::spacer 绑定到 react
 - js: 将 alignItems/justifyContent/gap 绑定到 react
 - js: 添加 ctx.context.window_info.class_name #275
 - menu: 当通过 js 中的 show_at 显示时不再运行 js listener
 - menu: 向 menu_controller 添加 show_at 和 show_at_cursor 方法
 
🐛 错误修复
- general: 修复有时除背景外无任何内容可见的问题
 - general: breeze_ui::window::create_ex 在浅色模式下现在会创建浅色窗口
 - general: 修复 insertBefore 逻辑以在渲染器中正确定位子元素
 - general: 修复上下文菜单 block_js_reload
 - general: 将 block_js_reload 从 atomic_bool 更改为 atomic_int 以便更好地控制
 - general: 不要在 widget 构造函数中访问 menu_render
 - general: 添加 #include
 - general: 构建修复
 - blook: 将 zasm 依赖版本降级至 2024.05.14
 - build: 使用日期而非提交哈希来指定版本
 - config: 确保只存在一个配置窗口
 - config: 更新 SVG_CONFIG 以基于主题使用动态填充颜色
 - inject: 移除 inject 目标的 UAC 策略设置
 - script: 改进监视文件中语法错误的错误日志记录
 - shell: 修复高分辨率屏幕中的菜单最大高度
 - shell: 上下文菜单布局
 
🎨 样式
- general: 使用 clang-format 重新格式化所有代码
 
♻️ 代码重构
- general: 将滚动实现移至 ui::flex_widget
 - general: 使用 children 而非 item_widgets 来存储 menu_widget 的项
 - general: breeze-ui 和 js 的线程逻辑
 - general: 移除不必要的空值检查
 - general: 移除重复的 
\ - menu_widget: 分离 scrollable_widget 用于处理滚动
 
📦 构建系统
- general: 移除 lockfile 并手动锁定版本
 - CI: 使用最新 xmake
 
🧹 杂项
- general: 添加 nushell 重建脚本并使 ps1 脚本兼容旧版 pwsh
 
English
✨ Features
- general: Refresh font cache when Shift key is pressed in the context menu
 - general: New configuration panel
 - general: Optimized enumeration handling and updated breeze-ui package configuration
 - general: Support for 360FileBrowser
 - general: Set rendering thread name, updated breeze-ui
 - general: Implement breeze-taskbar (#271)
 - js: Implement screen side buttons
 - js: Added get_widget method to menu_controller
 - js: Added on_close support for breeze_ui::window::create_ex
 - js: Implement breeze.set_can_reload_js
 - js: Implement 
max_height,enable_scrolling,enable_child_clipping,crop_overflow - js: flex grow, text max width
 - js: Execute js event callbacks in loop tasks
 - js: Disable maximum stack size check
 - js: Implement on_mouse_up callback
 - js: Bind flex::spacer to react
 - js: Bind alignItems/justifyContent/gap to react
 - js: Added ctx.context.window_info.class_name #275
 - menu: No longer run js listener when shown via show_at in js
 - menu: Added show_at and show_at_cursor methods to menu_controller
 
🐛 Bug Fixes
- general: Fixed issue where sometimes nothing was visible except the background
 - general: breeze_ui::window::create_ex now creates light mode windows in light mode
 - general: Fixed insertBefore logic to correctly position child elements in the renderer
 - general: Fixed context menu block_js_reload
 - general: Changed block_js_reload from atomic_bool to atomic_int for better control
 - general: Do not access menu_render in widget constructor
 - general: Added #include
 - general: Build fixes
 - blook: Downgraded zasm dependency version to 2024.05.14
 - build: Use date instead of commit hash for version specification
 - config: Ensure only one configuration window exists
 - config: Updated SVG_CONFIG to use dynamic fill color based on theme
 - inject: Removed UAC policy settings for inject targets
 - script: Improved error logging for syntax errors in watched files
 - shell: Fixed menu max height in high-resolution screens
 - shell: Context menu layout
 
🎨 Styles
- general: Reformatted all code using clang-format
 
♻️ Code Refactoring
- general: Moved scroll implementation to ui::flex_widget
 - general: Use children instead of item_widgets to store menu_widget items
 - general: Thread logic for breeze-ui and js
 - general: Removed unnecessary null checks
 - general: Removed duplicate 
\ - menu_widget: Separated scrollable_widget for handling scrolling
 
📦 Build System
- general: Removed lockfile and manually locked versions
 - CI: Use latest xmake
 
🧹 Miscellaneous
- general: Added nushell rebuild script and made ps1 script compatible with older pwsh