PageSourceSearch

https://windseed.app/windspace/assets/changelog-D9Hvq6bT.js

js windseed.app collected 2026-09-24 13:44:17 UTC 49,365 bytes, 1 lines download raw bytes

1import{u as h,a as e,f as m,g as u}from"./main-DZuML7Vw.js";const r={title:{zh:"更新日志",en:"Changelog"},intro:{zh:"WindSpace 每个正式版本对用户可见的改动,新版本在最上方。",en:"Everything new in each stable release of WindSpace — newest at the top."},metaDescription:{zh:"查看 WindSpace 各正式版本的新增功能、体验改进与问题修复。",en:"See what's new, improved and fixed in every stable release of WindSpace."},latestBadge:{zh:"最新",en:"Latest"},typeLabels:{added:{zh:"新增",en:"New"},improved:{zh:"改进",en:"Improved"},fixed:{zh:"修复",en:"Fixed"},other:{zh:"其他",en:"Other"}}};function a(t,n){return n==="en"?t.en:t.zh}const g=[{version:"2026.8.31.1",date:"2026-08-31",sections:[{type:"fixed",items:[{zh:"**修复全局快捷键在主监听静默失联后再次全部失效**:当 macOS 仍显示快捷键主监听正常、实际却不再投递按键时,WindSpace 会在备用通道接住当前操作后立即重建主监听;⌥1、⌥2 等应用切换及其他快捷键无需重启即可持续恢复。",en:"**Fixed all global shortcuts becoming unresponsive again after the primary listener silently disconnects**: If macOS still reports the primary shortcut listener as active but stops delivering keystrokes, WindSpace now handles the current action through its fallback channel and immediately rebuilds the primary listener. App switching with Option-1 or Option-2 and other shortcuts recover continuously without restarting the app."}]}]},{version:"2026.8.29.2",date:"2026-08-29",sections:[{type:"added",items:[{zh:"**智能宫格最多为 25 个窗口提供独立格位**:同时排布 17 到 20 个窗口时会自动使用 4×5,21 到 25 个窗口时使用 5×5;不再从第 17 个窗口起就与其他窗口重叠。",en:"**Smart Grid now gives up to 25 windows their own tiles**: It automatically uses a 4×5 grid for 17–20 windows and a 5×5 grid for 21–25, instead of overlapping windows starting with the 17th."}]},{type:"improved",items:[{zh:"**资源监控与自动关闭入口改用彩色图标**:侧边栏和页面顶部现在使用与其他功能一致的彩色立体图标,不再显示灰色系统符号,功能入口更容易辨认。",en:"**Resource Monitor and Auto Close now use colorful icons**: Their sidebar and page-header icons now match the dimensional, colorful style used by the rest of WindSpace instead of falling back to gray system symbols, making both features easier to spot."}]}]},{version:"2026.8.29",date:"2026-08-29",sections:[{type:"added",items:[{zh:"**智能宫格支持更多窗口**:同时排布 13 到 16 个窗口时,智能宫格会自动改用 4×4 布局,不再挤在 4×3 里循环覆盖。",en:"**Smart Grid now handles more windows**: When tiling 13 to 16 windows, Smart Grid automatically switches to a 4×4 layout instead of wrapping extras inside 4×3."},{zh:"**可选的匿名使用统计**:首次打开主窗口时,会询问是否允许发送匿名功能使用与错误诊断数据,帮助改进产品。你可以同意或拒绝;不会上传邮箱、License Key、窗口标题、剪贴板、文件内容或路径。",en:"**Optional anonymous usage stats**: The first time you open the main window, WindSpace asks whether you want to send anonymous feature-usage and error-diagnosis data to help improve the product. You can accept or decline. Email, license keys, window titles, clipboard contents, and file paths are never uploaded."}]}]},{version:"2026.8.23",date:"2026-08-23",sections:[{type:"improved",items:[{zh:"**快捷短语的禁用状态更清晰,编辑对齐更自然**:关闭快捷短语总开关后,相关列表和设置会明显变灰;单条禁用短语会显示「已禁用」标记。编辑展开内容时,光标、占位提示和正文现在从同一位置开始。",en:"**Clearer disabled states and more natural editor alignment for Quick Phrases**: Turning off the Quick Phrases master switch now visibly dims the related list and settings, while individually disabled phrases show a Disabled badge. In the exp
1ansion editor, the caret, placeholder, and text now start at the same position."}]},{type:"fixed",items:[{zh:"**修复全局快捷键偶发全部失效**:当 macOS 偶发停止向主监听投递键盘事件、却仍报告监听正常时,WindSpace 会自动通过独立备用通道继续接收快捷键,⌥1 / ⌥2 / ⌥3 等应用切换与其他普通快捷键无需重启即可继续使用。",en:"**Fixed all global shortcuts occasionally becoming unresponsive**: If macOS unexpectedly stops delivering keyboard events to the primary listener while still reporting it as active, WindSpace now continues through an independent fallback channel. App-switching shortcuts such as Option-1 / Option-2 / Option-3 and other regular shortcuts keep working without a restart."}]}]},{version:"2026.8.18",date:"2026-08-18",sections:[{type:"fixed",items:[{zh:"**修复 Finder「打开选中项」误开当前文件夹**:在 Finder 里选中文件或文件夹后,用绑定应用打开时会打开真正选中的那一项;不再误把当前正在浏览的文件夹打开。",en:"**Fixed Finder “Open Selected Item” opening the current folder instead**: When a file or folder is selected in Finder, opening it with the bound app now opens that selected item, not the folder you’re currently browsing."}]}]},{version:"2026.8.14",date:"2026-08-14",sections:[{type:"fixed",items:[{zh:"**修复应用切换 Chrome 时再打开一份或切不过去**:已经打开的 Chrome(包括用独立配置启动的调试 Chrome)会直接被激活到前台,不会再启动一个默认 Chrome;同时存在后台自动化 Chrome 时,会优先切到你能看到的那一份。",en:"**Fixed app switching opening another Chrome or failing to bring Chrome forward**: If Chrome is already open (including a debug Chrome launched with a separate profile), app switching now activates that existing window instead of starting a new default Chrome. When a background automation Chrome is also running, WindSp
1ace prefers the Chrome you can actually see."},{zh:"**修复 Finder、Chrome 上部分布局快捷键看起来没反应**:这些应用偶尔会把无效的桌面元素当成当前窗口,半屏、最大化等布局因此没有可见效果。现在会自动改用真正可移动的窗口。",en:"**Fixed some layout shortcuts appearing to do nothing in Finder and Chrome**: These apps sometimes treat an invalid desktop element as the current window, so half-screen or maximize layouts had no visible effect. WindSpace now falls back to a real movable window."}]}]},{version:"2026.8.11",date:"2026-08-11",sections:[{type:"fixed",items:[{zh:"**修复全局快捷键偶发整体失效**:快捷键监听不再为每次按键同步读取输入法字符,避免 macOS 输入源服务偶发阻塞后禁用全局监听;监听被系统暂停时也会自动立即恢复。",en:"**Fixed global shortcuts occasionally becoming completely unresponsive**: The shortcut listener no longer synchronously translates input-method characters for every keystroke, preventing macOS input-source stalls from disabling global monitoring. If the system pauses the listener, it now resumes immediately and automatically."},{zh:"**清理遗留剪贴板数据,降低长期运行负担**:升级后会安全合并仍需保留的旧剪贴板记录,并清除已经迁移或过期的巨型偏好数据,避免偏好文件持续膨胀、拖慢应用运行。",en:"**Cleaned up legacy clipboard data to reduce long-running overhead**: After updating, WindSpace safely merges clipboard records that still need to be kept and removes migrated or expired oversized preference data, preventing the preferences file from continuing to grow and slow down the app."}]}]},{version:"2026.7.30",date:"2026-08-02",sections:[{type:"fixed",items:[{zh:"**点击 Dock 图标可直接打开主窗口**:WindSpace 已在运行但主窗口被关闭或隐藏时,再次点击 Dock 图标会直接重建并置前主窗口,无需再从菜单栏弹窗进入「设置」。",en:"**Click the Dock icon to open the main window directly**: When WindSpace is already running but its main window has been closed or hidden, clicking the Dock icon again now recreates the window and brings it to the front, without requiring you to open Settings from the menu bar popover."}]}]},{version:"2026.7.29",date:"2026-07-29",sections:[{type:"improved",items:[{zh:"**剪贴板图片历史更省内存**:复制过的图片不再随全部历史记录同时加载到内存,而是按需读取并限制缓存大小;已有图片历史会在升级后自动安全迁移,长期积累大量截图时依然保持流畅。",en:"**Clipboard image history now uses much less memory**: Copied images are loaded only when needed instead of keeping the entire image history in memory, with a strict cache limit. Existing image history is migrated safely after updating, so WindSpace stays responsive even after accumulating many screenshots."},{zh:"**加强快捷键输入隐私保护**:正常运行时不再记录普通按键字符和逐项快捷键匹配过程,减少无用日志和输入内容暴露风险。",en:"**Stronger privacy for keyboard input**: Normal operation no longer logs ordinary keystroke characters or every shortcut comparison, reducing unnecessary logging and the risk of exposing typed content."}]},{type:"fixed",items:[{zh:"**修复长时间运行后卡顿或无响应**:修复资源监控后台采样造成的系统资源持续泄漏,并为高频日志增加容量保护,避免应用运行数小时或数天后资源不断堆积。",en:"**Fixed slowdowns or unresponsiveness after long runtimes**: Resource Monitor background sampling no longer leaks system resources, and high-frequency logging now has a strict capacity limit to prevent resources from accumulating after hours or days of use."}]}]},{version:"1.0.18",date:"2026-07-24",sections:[{type:"fixed",items:[{zh:"**移除终端标题监听和自动置顶**:WindSpace 不再监听 Terminal、iTerm2 等终端的窗口标题,也不会因 Codex 等命令行工具更新标题而自动激活终端、抢走当前应用焦点。",en:"**Removed terminal title monitoring and automatic focus stealing**: WindSpace no longer watches window titles in Terminal, iTerm2, or other terminal apps, so title updates from command-line tools such as Codex can no longer activate a terminal and take focus from your current app."},{zh:"**快捷键改绑后立即生效**:修改快捷键后会立刻刷新运行时监听,无需重启 WindSp
1ace。",en:"**Shortcut changes now take effect immediately**: Changing a shortcut now refreshes the runtime listener right away, with no WindSpace restart required."},{zh:"**快捷短语完整保留格式**:编辑快捷短语时,「展开内容」会保留用户输入的首尾空格和换行,不再在保存时自动裁剪。",en:"**Quick Phrases now preserve formatting exactly**: Leading and trailing spaces and line breaks in Expansion text are now kept when a phrase is saved instead of being trimmed."}]}]},{version:"1.0.17",date:"2026-07-18",sections:[{type:"added",items:[{zh:"**应用切换可置前全部窗口**:使用快捷键切换应用时,默认会把目标应用的所有窗口一起带到前台,避免只看到最近使用的单个窗口;「应用切换」设置页新增开关,可随时关闭该行为,并支持跨设备同步。",en:"**Bring all app windows to the front when switching**: App-switching shortcuts now bring every window from the target app to the front by default, instead of showing only its most recently used window. A new toggle in App Switcher settings lets you turn this behavior off at any time, and the preference syncs across devices."}]}]},{version:"1.0.16",date:"2026-07-17",sections:[{type:"added",items:[{zh:"**应用内查看更新日志**:版本设置页新增「查看更新日志」入口,可直接在 WindSpace 内打开官网更新日志,无需跳转浏览器;同时提供加载状态、失败提示和重试操作。",en:"**View the changelog inside WindSpace**: A new View Changelog entry on the Version settings page opens the website changelog directly inside WindSpace without switching to a browser, with clear loading and error states plus a retry action."}]},{type:"fixed",items:[{zh:"**修复小键盘按键序列连续跳过布局**:使用 Num5 等按键循环多个布局时,如果当前应用窗口较多、单次布局耗时较长,第 2 个和第 3 个布局可能会在一次按键后连续执行。现在会正确合并布局期间延迟到达的同一次按键事件,每次按下只前进一个布局。",en:"**Fixed numpad shortcut sequences skipping through layouts**: When cycling layouts with a key such as Num5, arranging many windows could take long enough for the second and third layouts to run from a single press. Delayed events from the same physical key press are now merged correctly, so each press advances exactly one layout."}]}]},{version:"1.0.15",date:"2026-07-12",sections:[{type:"added",items:[{zh:"**资源监控功能**:新增「资源监控」页面和菜单栏面板,实时查看当前系统里各个应用占用了多少 CPU、内存和磁盘,一键找出最耗资源的应用;支持按 CPU / 内存 / 磁盘排序,也能直接结束占用过高的进程;菜单栏同时提供 CPU / 内存 / 磁盘 / 网络四项系统总览。",en:"**Resource Monitor**: A new Resource Monitor page and menu bar panel let you see exactly how much CPU, memory, and disk each app is using in real time, so you can instantly spot what's slowing your Mac down. Sort by CPU, memory, or disk, and quit runaway processes right from the panel; the menu bar also shows an at-a-glance CPU / memory / disk / network system overview."},{zh:"**自动关闭功能**:新增「自动关闭」页面,取代旧版「自动退出不活跃应用」。改为更安全的白名单模式——只有手动加入名单的应用,在闲置一段时间(15/30/60/120/240 分钟可选)后才会被关闭,不会误关名单外的应用;关闭前会先弹通知提醒,并自动跳过正在播放视频、演示或全屏的应用;名单选择器支持再次点击取消勾选。",en:`**Auto-Close**: A new Auto-Close page replaces the old "auto-quit inactive apps" toggle with a safer opt-in list — only apps you explicitly add get closed after sitting idle for a chosen period (15/30/60/120/240 minutes), so nothing outside the list is ever touched. You'll get a notification before an app closes, apps that are playing video, presenting, or in full screen are automatically skipped, and you can click an app again in the picker to remove it from the list.`},{zh:"**官网新增更新日志页面**:页脚新增「更新日志」入口,可查看每个正式版本的详细改动记录。",en:'**New changelog page on the website**: A "Changelog" link in the footer now lets you browse detailed release notes for every stable version.'}]},{type:"fixed",items:[{zh:"**修复窗口很多时按快捷键会连续触发多次布局**:应用数量较多、单次宫格布局耗时较长时,连续按快捷键容易被缓冲补发,导致同一批窗口被连续布局多次、位置错乱。现在同一时刻只允许一次布局生效,杜绝重复执行。",en:"**Fixed layouts firing multiple times in a row when many windows are open**: When arranging a large number of windows took longer than usual, repeated shortcut presses could get buffered and replayed, causing the same set of windows to be laid out several times and end up misplaced. Now only one layout can run at a time, eliminating the duplicate runs."}
1,{zh:"**修复部分窗口最大化后无法还原到原尺寸**:已经贴在屏幕左上角的窗口执行「最大化」后再还原,高度有时不会恢复。现在改进了还原时的位置校验重试逻辑,确保稳定还原。",en:"**Fixed some windows not restoring their original size after maximizing**: Windows already snapped to the top-left corner sometimes kept their maximized height when restored. The restore logic now retries position verification more reliably, so windows consistently return to their original size."},{zh:"**修复菜单栏「当前应用 / 所有应用」成对按钮显示不全**:智能布局、重叠布局分组里,「当前应用」和「所有应用」两个按钮此前偶尔只显示一侧、顺序错乱或文案被裁切,现在统一成对相邻显示、两行文案完整可见。",en:'**Fixed incomplete "current app / all apps" button pairs in the menu bar**: In Smart Layout and Overlapping groups, the paired "current app" and "all apps" buttons could sometimes show only one side, appear in the wrong order, or have their labels clipped. They now always appear side by side as a complete pair with fully visible two-line labels.'},{zh:"**修复窗口置顶的分组选择器列出无法使用的分组**:智能布局、重叠布局等按窗口而非按位置分组的分组本身不支持整组置顶,此前仍会出现在置顶分组选择器里,现在已从列表中移除。",en:"**Fixed the pin-group picker listing groups that can't actually be pinned**: Groups organized by window (like Smart Layout and Overlapping) don't support group-wide pinning, but they used to still show up in the pin-group picker. They're now excluded from the list."},{zh:"**修复资源监控页面数值换行**:系统总览里磁盘、网络速率数值在窄列宽下会挤成两行显示,现在改为自适应宽度,数值始终单行显示。",en:"**Fixed numbers wrapping to two lines on the Resource Monitor page**: Disk and network speed values in the system overview used to get squeezed into two lines in narrow columns. Layout now adapts its width so values always stay on a single line."}]}]},{version:"1.0.14",date:"2026-06-16",sections:[{type:"fixed",items:[{zh:"**修复编辑快捷短语时「展开内容」第一次打开为空**:在「快捷短语」设置页点开任意一条短语进行编辑,弹窗里的「展开内容」此前第一次打开时会显示空白,要关掉再点开第二次才会出现已保存的内容。现在第一次点开即正确显示完整内容。",en:"**Fixed the Quick Phrases editor showing an empty “Expansion” field on first open**: In Quick Phrases settings, opening a phrase to edit used to show a blank Expansion field the first time — you had to close and reopen it to see the saved text. It now shows the full content the very first time."}]}]},{version:"1.0.13",date:"2026-06-13",sections:[{type:"added",items:[{zh:"**搜索支持拼音与拼音首字母**:快捷搜索(应用启动、系统操作、窗口布局)、动作选择器、应用选择器、自动退出白名单、文件夹气泡等所有搜索框,都可以用拼音全拼或首字母查找中文条目——输入 “sz” 或 “shizhong” 即可搜到「时钟」,“dnxm” 搜到「电脑休眠」,“wx” 搜到「微信」。常见多音字(重启、时长、音乐等)已按正确读音处理。",en:"**Search now supports Pinyin and Pinyin initials**: Every search box — Quick Search (app launch, system actions, window layouts), the action picker, the app picker, the auto-close allowlist, folder bubbles and more — can find Chinese entries by full Pinyin or just the initials. Typing “sz” or “shizhong” finds Clock, “dnxm” finds Sleep, “wx” finds WeChat. Common heteronyms are handled with the correct reading."}]},{type:"fixed",items:[{zh:"**修复搜索无法跨语言命中**:中文界面下输入英文关键词(如 “sleep”)搜不到「电脑休眠」,英文界面下输入中文同样搜不到。现在快捷搜索、系统操作设置页、动作选择器的搜索会同时匹配中英文名称。",en:"**Fixed search not matching across languages**: In a Chinese UI, an English keyword like “sleep” wouldn't find Sleep, and the reverse failed in an English UI. Quick Search, the System Actions settings page and the action picker now match both Chinese and English names at once."}]}]},{version:"1.0.12",date:"2026-06-12",sections:[{type:"fixed",items:[{zh:"**彻底修
1复 macOS 26.5 上宫格布局间歇性失效**:布局时窗口偶尔带着缓慢动画移动,最终停在错误的位置或保持旧尺寸。真正原因是部分应用被其他辅助功能工具打上系统动画标记,macOS 26.5 会对这类应用的窗口移动/缩放强制加动画,布局指令在动画过程中被系统静默忽略。现在布局期间会临时关闭该动画标记,并逐窗口校验实际位置与尺寸、未生效时自动重试,确保每个窗口无动画瞬间落到目标格子。",en:"**Completely fixed intermittent grid layout failures on macOS 26.5**: Windows would occasionally drift with a slow animation and end up in the wrong place or keep their old size. The real cause: some apps get tagged with a system animation flag by other accessibility tools, and macOS 26.5 force-animates window moves/resizes for them, so the layout command was silently ignored mid-animation. WindSpace now temporarily clears that flag during layout, verifies each window's actual position and size, and retries automatically when needed — so every window snaps into its target cell instantly, with no animation."}]},{type:"improved",items:[{zh:"**便捷设置开关增加状态说明**:每个开关旁新增当前状态说明文字,全部功能文案统一改写为「开启/关闭」语义,状态一目了然;「窗口缩放动画」开关的说明写明生效条件(需重启对应应用或注销重新登录)。",en:"**Convenient Settings toggles now show status text**: Each toggle has explanatory text beside it, with all wording unified around clear On/Off semantics so the current state is obvious at a glance. The “Window resize animation” toggle spells out when it takes effect (restart the app, or log out and back in)."}]}]},{version:"1.0.11",date:"2026-06-12",sections:[{type:"added",items:[{zh:"**「窗口缩放动画」全局开关**:便捷设置 → 动画加速分区新增开关,可一键关闭 macOS 的窗口缩放/调整大小动画,让窗口布局切换瞬间到位、不再有过渡动画;重新打开开关即恢复系统默认动画。设置对之后新启动的应用生效。",en:"**Global “Window resize animation” toggle**: A new switch under Convenient Settings → Animation speed turns off macOS window scaling/resize animations with one click, so layout changes land instantly with no transition; turn it back on to restore the system default. It applies to apps launched afterward."}]},{type:"fixed",items:[{zh:"**修复 macOS 26.5 上宫格布局间歇性失效(部分场景)**:窗口「从大变小并移动」时偶尔会停在原位或只改了大小没挪位置。布局后会自动校验窗口实际位置,不一致时自动重试。(1.0.12 进一步定位到根因并彻底修复)",en:"**Fixed intermittent grid layout failures on macOS 26.5 (some cases)**: When a window had to shrink and move at the same time, it sometimes stayed put or resized without moving. WindSpace now verifies the window's actual position after layout and retries on a mismatch. (1.0.12 pins down the root cause and fixes it fully.)"},{zh:"**修复辅助功能权限引导弹窗部分文案不跟随系统语言**:中文系统下弹窗的标题、说明和授权按钮此前始终显示英文,现在正确显示中文。",en:"**Fixed the Accessibility permission prompt not following the system language**: On a Chinese system, the prompt's title, description and grant button always showed English; they now display correctly in Chinese."}]}]},{version:"1.0.10",date:"2026-06-10",sections:[{type:"fixed",items:[{zh:"**修复升级 macOS 26.5 后三指滑动呼出宫格布局面板失效**:macOS 26.5 调整了系统触控板触点数据的内部结构,导致三指滑动手势几乎全部被误判为一两根手指,宫格布局面板无法呼出(快捷键触发的布局不受影响)。现在改为运行时自动探测触点数据布局,兼容新旧 macOS 版本,并对未来系统升级再次调整结构的情况自动适应。",en:"**Fixed the three-finger swipe not opening the grid panel after upgrading to macOS 26.5**: macOS 26.5 changed the internal layout of trackpad touch data, so three-finger swipes were almost always misread as one or tw
1o fingers and the grid panel wouldn't appear (shortcut-triggered layouts were unaffected). WindSpace now probes the touch-data layout at runtime, works across old and new macOS versions, and adapts automatically if a future update changes it again."}]}]},{version:"1.0.9",date:"2026-06-10",sections:[{type:"fixed",items:[{zh:"**滑动面板不再被两指滚动误呼出**:修复了双指滚动页面时偶尔会误弹出三指滑动面板的问题。此前第三根手指悬停在触控板上方(未接触板面)也会被计为一根手指,导致两指操作被误判为三指手势;现在只有实际按在触控板上的手指才会被统计,并增加了连续确认机制,三指触发的响应速度不受影响。",en:"**The swipe panel is no longer triggered by two-finger scrolling**: Fixed the panel occasionally popping up while scrolling with two fingers. Previously a third finger hovering just above the trackpad (without touching) was still counted, so two-finger gestures were misread as three; now only fingers actually resting on the trackpad count, plus an added confirmation step — three-finger triggering stays just as responsive."}]}]},{version:"1.0.8",date:"2026-06-10",sections:[{type:"improved",items:[{zh:"**安装包正式签名与 Apple 公证**:应用与 DMG 安装包改用 Apple Developer ID 正式签名,并通过 Apple 公证(Notarization)。首次打开不再出现「无法验证开发者」的安全警告,无需再到「系统设置 → 隐私与安全性」手动允许,下载后双击即可直接运行。",en:"**Officially signed and Apple-notarized installer**: The app and DMG are now signed with an Apple Developer ID and notarized by Apple. The “developer cannot be verified” warning no longer appears on first launch — no more manually allowing it under System Settings → Privacy & Security; just download, double-click and run."},{zh:"**完善英文翻译**:补充窗口布局相关界面的英文文案,英文环境下显示更完整。",en:"**More complete English translations**: Added English copy for window-layout screens so the English UI reads more completely."}]}]},{version:"1.0.7",date:"2026-05-22",sections:[{type:"added",items:[{zh:"**剪贴板弹窗支持快捷键与 Actions 菜单**:剪贴板历史弹窗内每条记录支持数字键直选,新增 Actions 菜单聚合粘贴、置顶、删除等操作,常用动作触达更快。",en:"**Shortcuts and an Actions menu in the clipboard popup**: Each entry in the clipboard history popup can be picked directly with a number key, and a new Actions menu groups paste, pin, delete and more so common actions are quicker to reach."},{zh:"**新增竖向 2/3 布局**:窗口布局新增「上 2/3」「下 2/3」两种纵向比例,适合阅读、写作、长内容浏览场景。",en:"**New vertical 2/3 layouts**: Window layouts add “Top 2/3” and “Bottom 2/3” vertical splits, great for reading, writing and browsing long content."}]},{type:"improved",items:[{zh:"**侧边栏导航 V2 彩色图标**:主窗口侧边栏全面切换为彩色图标资源,显示尺寸调整到 24pt,功能入口识别度显著提升。",en:"**Sidebar navigation V2 with color icons**: The main-window sidebar switches to full-color icons at 24pt, making each feature much easier to recognize."},{zh:"**设置页统一 Hero 卡片**:所有设置子页采用统一的顶部英雄卡片样式,背景装饰收敛为偏左错落的圆角正方形碎片,视觉更轻盈一致。",en:"**Unified hero card across settings pages**: Every settings sub-page now uses a consistent top hero card, with background decoration pared back to softly scattered rounded squares for a lighter, more cohesive look."},{zh:"**系统操作图标重塑**:系统操作按钮收敛为浅灰线性风格、紧凑布局,并对齐分组图标列,整体观感更克制专业。",en:"**Redesigned system-action icons**: System-action buttons move to a light-gray line style with a tighter layout aligned to the group icon column, for a more restrained, professional feel."},{zh:"**列表滚动行为更克制**:剪贴板历史与快速启动列表点击不再触发滚动;只有键盘 ↑↓ / 搜索 / 删除导致选中行超出视野时才滚动,避免无谓抖动。",en:"**More restrained list scrolling**: Clicking items in the clipboard history and quick-launch lists no longer scrolls; scrolling only happens when ↑↓, search or delete pushes the selected row out of view, avoiding needless jumps."},{zh:"**剪贴板弹窗视觉精简**:移除弹窗 footer 与 Actions 菜单中冗余的分隔线,
1层次更干净。",en:"**Cleaner clipboard popup**: Removed redundant dividers in the popup footer and Actions menu for a cleaner hierarchy."}]},{type:"fixed",items:[{zh:"**Quick Search 弹窗列表滚动卡顿**:优化大量搜索结果时的滚动性能。",en:"**Quick Search list scrolling lag**: Improved scrolling performance with large result sets."},{zh:"**剪贴板列表缓存失效**:修复缓存判定逻辑导致的偶发刷新与重复渲染问题。",en:"**Clipboard list cache invalidation**: Fixed occasional refreshes and re-renders caused by the cache-check logic."},{zh:"**英文翻译补齐**:剪贴板弹窗 Paste / Actions、上下 2/3 布局描述等新增文案的英文翻译同步落地。",en:"**Filled-in English translations**: Added English for the clipboard popup's Paste / Actions and the new top/bottom 2/3 layout descriptions."}]}]},{version:"1.0.6",date:"2026-05-18",sections:[{type:"added",items:[{zh:"**定时任务(Scheduled Tasks)**:全新调度引擎与设置面板,支持按时间触发系统操作,可在设置页创建、编辑、启用/禁用任务,覆盖单次与重复时间策略。",en:"**Scheduled Tasks**: A brand-new scheduling engine and settings panel that triggers system actions by time. Create, edit and enable/disable tasks in settings, with both one-time and recurring schedules."},{zh:"**新建任务交互重构**:定时任务页改为按需展开的添加交互,新建任务界面与快捷键 schema v3 同步重构,操作路径更短、更易上手。",en:"**Reworked “new task” flow**: The Scheduled Tasks page switches to an on-demand expanding “add” interaction, and the new-task UI is rebuilt alongside shortcut schema v3 for a shorter, friendlier path."}]},{type:"improved",items:[{zh:"**侧边栏工具组顺序调整**:按使用频率重排主窗口侧边栏工具入口,常用功能更靠前。",en:"**Reordered sidebar tool groups**: Main-window sidebar entries are reordered by how often they're used, putting common features up front."},{zh:"**QuickLauncher 简化展示**:移除分组标题,使用扁平列表呈现,减少滚动与视觉噪音。",en:"**Simplified QuickLauncher**: Removed group headers in favor of a flat list, cutting scrolling and visual noise."},{zh:"**弹窗字号与行高放大**:浮动弹窗(搜索、剪贴板等)字号与行高整体调大,长时间使用更舒适。",en:"**Larger popup text and line height**: Floating popups (search, clipboard, etc.) get bigger text and line height for more comfortable extended use."},{zh:"**终端切换器 V2 设计**:终端切换器视觉与交互按 V2 设计稿打磨;本次版本暂时关闭入口,待后续打磨完成再重新开放。",en:"**Terminal Switcher V2 design**: The Terminal Switcher's visuals and interactions are polished to the V2 design; its entry is temporarily disabled this release and will return once polishing is done."}]},{type:"fixed",items:[{zh:"**定时任务设置页按钮文本截断**:英文环境下按钮文案被截断;同时调整禁用状态配色,状态更易辨识。",en:"**Truncated buttons on the Scheduled Tasks page**: Button labels were cut off in English; disabled-state colors were also adjusted so states are easier to tell apart."},{zh:"**定时任务页选择动作时不显示布局 Tab**:选择系统动作时不应出现的「布局」分类已隐去,避免误导。",en:"**No Layout tab when picking an action for a scheduled task**: The “Layout” category that shouldn't appear when choosing a system action is now hidden, avoiding confusion."},{zh:"**定时任务删除入口整理**:垃圾桶按钮折叠到三点菜单内,主操作区更干净,避免误删。",en:"**Tidied the delete control for scheduled tasks**: The trash button is folded into the three-dot menu, keeping the main area clean and reducing accidental deletes."}]}]},{version:"1.0.5",date:"2026-05-12",sections:[{type:"improved",items:[{zh:"发布包升级为 Apple Developer ID 签名与 Apple 公证流程,面向网站下载与 Sparkle 更新分发,减少用户首次安装时遇到 Gatekeeper 安全拦截的可能。",en:"Release builds move to Apple Developer ID signing and Apple notarization for both website downloads and Sparkle updates, reducing the chance of a Gatekeeper warning on first install."},{zh:"发布脚本新增 Developer ID 证书、Hardened Runtime、公证票据 staple 与 DMG 公证校验,避免误发布未公证安装包。",en:"The release script now verifies the Developer ID certificate, Hardened Runtime, notarization stapling and DMG notarization, preventing accidental release of an un-notarized installer."}]}]},{version:"1.0.4",date:"2026-05-12",sections:[{type:"added",items:[{zh:"**终端窗口快速切换器(TerminalSwitcher)**:浮窗形式快速切换 / 提升 / 居中终端窗口;支持多屏隔离与折叠把手;前台时拦截 ⌘1-9;激活窗口与浮窗重叠时自动折叠展开;可在设置页开启开关、启动恢复及调整快捷键。",en:"**Terminal window quick switcher (TerminalSwitcher)**: A floating panel to quickly switch, raise or center terminal windows; supports per-display isolation and a collapse handle; intercepts ⌘1-9 while in the foreground; auto-collapses when the active window overlaps the panel; toggle, launch-restore and shortcuts are all configurable in settings."},{zh:"**按键映射(Key Remap)**:可在设置中自定义按键映射规则(如 Caps Lock → Esc 等)。",en:"**Key Remap**: Define your own key-mapping rules in settings (e.g. Caps Lock → Esc)."},{zh:"**快捷搜索:计算器与货币换算**:搜索框内直接输入算式即可得到结果;货币换算支持多格式变体(万元、整数、小数等多种展示)。",en:"**Quick Search: calculator and currency conversion**: Type an expression right in the search box to get the result; currency conversion supports multiple display formats."},{zh:"**系统操作动作彩色图标**:动作选择器内系统动作改用彩色图标,更易辨识。",en:"**Color icons for system actions**: System actions in the action picker now use color icons for easier recognition."},{zh:"**本地 14 天免费试用**:无需登录、无需联网即可一键启动试用。",en:"**Local 14-day free trial**: Start a trial with one click — no sign-in and no internet required."},{zh:"**邮箱 + License Key 离线激活**:购买后可在离线场景下用邮箱 + License Key 完成激活。",en:"**Offline activation with email + license key**: After purchase you can activate offline using your email and license key."},{zh:"**激活流程完整 UI 重写(V5)**:基于 9 态分发模型重构激活页与账户页,覆盖未登录 / 试用中 / 试用到期 / 已激活 / 设备超限等各类状态。",en:"**Fully rewritten activation UI (V5)**: The activation and account pages are rebuilt on a 9-state model covering signed-out, trialing, trial-expired, activated, device-limit-exceeded and more."}]},{type:"improved",items:[{zh:"终端切换器设置页按设计稿重做,新增 Hero 卡片、装饰圆与日志展示。",en:"The Terminal Switcher settings page is rebuilt to the design, adding a hero card, decorative circles and a log view."},{zh:"应用设置页整体去卡片化,视觉对齐主设计稿。",en:"App settings pages drop their card framing to align with the main design."},{zh:"已激活账户页极简化,移除冗余的 license 明细与操作按钮。",en:"The activated account page is simplified, removing redundant license details and buttons."},{zh:"升级卡片新增价格行与限时半价 Badge。",en:"The upgrade card adds a price row and a limited-time half-price badge."},{zh:"价格卡 Badge 改为纯胶囊形(移除丝带效果)。",en:"Price-card badges become plain pills (the ribbon effect is removed)."},{zh:"云同步取消端到端加密,改为明文云备份,与网页端登录态保持一致。",en:"
1Cloud sync drops end-to-end encryption in favor of plain cloud backup, consistent with the web sign-in state."},{zh:"多处用户可见文案补全中英文翻译:菜单功能、快捷键、提示音、DMG 下载备用方式、动作选择器分组、设置页描述等。",en:"Filled in bilingual copy across many user-facing strings: menu features, shortcuts, sounds, the DMG download fallback, action-picker groups, settings descriptions and more."},{zh:"升级 / Pro 引导卡共享同一弹窗主体,外观与交互一致。",en:"The upgrade and Pro prompt cards share a single dialog body for consistent look and behavior."}]},{type:"fixed",items:[{zh:"终端切换器的 ⌥F / ⌥S 快捷键改为前台动态注册,避免在非 WindSpace 前台时误拦截其他应用的同名快捷键。",en:"The Terminal Switcher's ⌥F / ⌥S shortcuts now register dynamically in the foreground, so they no longer hijack the same shortcuts in other apps when WindSpace isn't frontmost."},{zh:"动作选择器分组标签的本地化格式化错位。",en:"Fixed mis-formatted localized group labels in the action picker."},{zh:"数字格式化与若干设置项描述的翻译缺失。",en:"Fixed missing translations for number formatting and several settings descriptions."}]}]},{version:"1.0.3",date:"2026-05-05",sections:[{type:"fixed",items:[{zh:"多屏环境下「快捷键循环切换」在切换屏幕后能从第 1 步重新开始,避免在 A 屏按一次后切到 B 屏继续按时被当成同一序列的第 2 次按下而跳步。",en:"On multi-display setups, the shortcut cycle now restarts from step 1 after switching screens — so pressing once on screen A and then continuing on screen B is no longer treated as the second press of the same sequence (which used to skip a step)."}]}]},{version:"1.0.2",date:"2026-05-04",sections:[{type:"added",items:[{zh:"设置页版本区新增「检查更新」按钮,可手动触发 Sparkle 检查。",en:"Added a “Check for Updates” button in the settings version section to trigger a Sparkle check manually."},{zh:"Sparkle 自动更新支持 Beta 通道,作者本机可在「设置 → 版本」开启「接收 Beta 更新」开关单独升 beta,普通用户不受影响。",en:"Sparkle auto-update gains a Beta channel: a “Receive beta updates” toggle under Settings → Version lets the author opt into betas without affecting regular users."}]},{type:"improved",items:[{zh:"Sparkle 升级流程改为「下载 dmg + 打开 Finder 手动安装」过渡方案,避免 ad-hoc 签名应用直接替换被 Gatekeeper 拦截。",en:"The Sparkle update flow switches to a “download the DMG and install via Finder” interim approach, avoiding Gatekeeper blocking an in-place replacement of an ad-hoc-signed app."},{zh:"快捷搜索分类标题改用系统应用真实图标并彩色化,提升视觉层级与可识别性。",en:"Quick Search category headers now use real system app icons in color, improving visual hierarchy and recognition."},{zh:"登录态保活逻辑优化:网络故障时保留登录态,仅在 401 双门槛触发时才清除凭据。",en:"Improved sign-in persistence: the session is kept through network failures, and credentials are only cleared after a two-strike 401."},{zh:"自动关闭白名单视图文案与英文翻译完善。",en:"Refined the copy and English translations for the auto-close allowlist view."},{zh:"License 激活与登录流程补全国际化文案。",en:"Filled in i18n copy across the license activation and sign-in flows."},{zh:"应用切换 / 流程相关文案补全英文翻译。",en:"Added English translations for app-switcher and related flow copy."}]},{type:"fixed",items:[{zh:"剪贴板历史弹窗未激活 PRO 时禁止呼出,并引导用户升级。",en:"The clipboard history popup no longer opens without PRO and guides you to upgrade instead."},{zh:"快速启动器分组顶部空白问题。",en:"Fixed extra blank space at the top of quick-launcher groups."},{zh:"快捷搜索分类标题图标对齐与视觉层级。",en:"Fixed icon alignment and visual hierarchy in Quick Search category headers."},{zh:"appcast 增加 `sparkle:version` 字段,解决 Sparkle v2 解析失败。",en:"Added the `sparkle:version` field to the appcast, fixing a Sparkle v2 parse failure."}]},{type:"other",items:[{zh:"暂时禁用快捷搜索和快捷启动入口(待后续重新打磨后开放)。",en:"Temporarily disabled the Quick Search and quick-launch entries (to reopen after further polish)."},{zh:"发布渠道从 GitHub Release 切换到 Cloudflare R2 + `cdn.windseed.app`。",en:"Moved the release channel from GitHub Releases to Cloudflare R2 + `cdn.windseed.app`."}]}]},{version:"1.0.1",date:"2026-05-01",note:{zh:"首个对外公开的稳定版本。",en:"The first public stable release."}}],l=["added","improved","fixed","other"];function w(t){const n=t.match(/^\*\*(.+?)\*\*(?:[::]\s*)?([\s\S]*)$/);if(!n)return t;const[,i,s]=n;return e.jsxDEV(e.Fragment,{children:[e.jsxDEV("strong",{className:"changelog-item-lead",children:i},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:27,columnNumber:7},this),s?e.jsxDEV("span",{className:"changelog-item-body",children:s},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:28,columnNumber:15},this):null]},void 0,!0,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:26,columnNumber:5},this)}function y(){const{locale:t}=h();return e.jsxDEV("div",{className:"changelog-timeline",children:g.map((n,i)=>{const s=i===0;return e.jsxDEV("article",{className:"changelog-entry",children:[e.jsxDEV("div",{className:"changelog-entry-meta",children:[e.jsxDEV("div",{className:"changelog-version-row",children:[e.jsxDEV("h2",{className:"changelog-version",children:n.version},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:44,columnNumber:17},this),s?e.jsxDEV("span",{className:"changelog-latest-badge",children:a(r.latestBadge,t)},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:46,columnNumber:19},this):null]},void 0,!0,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:43,columnNumber:15},this),e.jsxDEV("time",{className:"changelog-date",dateTime:n.date,children:n.date},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:51,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:42,columnNumber:13},this),e.jsxDEV("div",{className:"changelog-entry-body",children:[n.note?e.jsxDEV("p",{className:"changelog-note",children:a(n.note,t)},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:58,columnNumber:17},this):null,(n.sections??[]).slice().sort((o,c)=>l.indexOf(o.type)-l.indexOf(c.type)).map(o=>e.jsxDEV("section",{className:"changelog-group",children:[e.jsxDEV("span",{className:`changelog-tag changelog-tag-${o.type}`,children:a(r.typeLabels[o.type],t)},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:70,columnNumber:21},this),e.jsxDEV("ul",{className:"changelog-list",children:o.items.map((c,p)=>e.jsxDEV("li",{className:"changelog-list-item",children:[e.jsxDEV("span",{className:"changelog-list-bullet","aria-hidden":"true"},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:78,columnNumber:27},this),e.jsxDEV("span",{className:"changelog-list-text",children:w(a(c,t))},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:79,columnNumber:27},this)]},p,!0,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:77,columnNumber:25},this))},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:75,columnNumber:21},this)]},o.type,!0,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:69,columnNumber:19},this))]},void 0,!0,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:56,columnNumber:13},this)]},n.version,!0,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:41,columnNumber:11},this)})},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/components/changelog/ChangelogTimeline.tsx",lineNumber:37,columnNumber:5},this)}const d="https://windseed.app/windspace/changelog";function b(){const{locale:t}=h(),{embed:n}=m.useSearch(),i=a(r.title,t),s=a(r.metaDescription,t),o=a(r.intro,t);return e.jsxDEV(e.Fragment,{children:[e.jsxDEV("title",{children:`${i} · WindSpace`},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:28,columnNumber:7},this),e.jsxDEV("meta",{name:"description",content:s},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:29,columnNumber:7},this),e.jsxDEV("link",{rel:"canonical",href:d},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:30,columnNumber:7},this),e.jsxDEV("meta",{property:"og:title",content:`${i} · WindSpace`},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:31,columnNumber:7},this),e.jsxDEV("meta",{property:"og:description",content:s},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:32,columnNumber:7},this),e.jsxDEV("meta",{property:"og:url",content:d},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:33,columnNumber:7},this),e.jsxDEV("meta",{name:"twitter:title",content:`${i} · WindSpace`},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:34,columnNumber:7},this),e.jsxDEV("meta",{name:"twitter:description",content:s},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:35,columnNumber:7},this),e.jsxDEV(u,{icon:"fa-solid fa-clock-rotate-left",title:i,lead:o,hideChrome:n,children:e.jsxDEV(y,{},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:38,columnNumber:9},this)},void 0,!1,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:37,columnNumber:7},this)]},void 0,!0,{fileName:"/Users/scott/projects/mac-projects/mac-window-layout/windspace-web/src/routes/changelog.tsx?tsr-split=component",lineNumber:26,columnNumber:10},this)}export{b as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.