From a898baffc4d6ad757acdfc56a413e8a920222411 Mon Sep 17 00:00:00 2001 From: omartelo Date: Sat, 17 Oct 2026 17:14:28 -0300 Subject: [PATCH] chore: cut 0.70.0 --- CHANGELOG.md | 5 +- changelog/es.md | 165 ++++++++++++++++++++++++++++++++------------- changelog/ja.md | 39 +++++++---- changelog/ko.md | 119 +++++++++++++++++++++++--------- changelog/pt-BR.md | 161 +++++++++++++++++++++++++++++++------------ changelog/ru.md | 161 +++++++++++++++++++++++++++++++------------ changelog/zh-CN.md | 38 ++++++++--- 7 files changed, 500 insertions(+), 188 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 398aa698..fdaba94d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.70.0] - 2026-10-17 + ### Added - **What's new speaks your language.** The dialog that opens after an update @@ -6116,7 +6118,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 CPU, costing ~40ms per frame in a full-size window. Under Xwayland typing is stall-free at full frame rate. -[Unreleased]: https://github.com/omartelo/lich/compare/v0.69.0...HEAD +[Unreleased]: https://github.com/omartelo/lich/compare/v0.70.0...HEAD +[0.70.0]: https://github.com/omartelo/lich/compare/v0.69.0...v0.70.0 [0.69.0]: https://github.com/omartelo/lich/compare/v0.68.0...v0.69.0 [0.68.0]: https://github.com/omartelo/lich/compare/v0.67.0...v0.68.0 [0.67.0]: https://github.com/omartelo/lich/compare/v0.66.0...v0.67.0 diff --git a/changelog/es.md b/changelog/es.md index 980cda4a..0e8363e2 100644 --- a/changelog/es.md +++ b/changelog/es.md @@ -1,51 +1,126 @@ -## [0.69.0] - 2026-10-16 +## [0.70.0] - 2026-10-17 ### Added -- **La ventana nativa en macOS, experimental.** Lich.app la incluye junto a lich - en Apple Silicon e Intel, y Ajustes › Apariencia › Ventana la ofrece igual - que en Linux y Windows. Option escribe caracteres en su terminal, como en - Terminal.app, así que los atajos Option+letra de un agente no llegan hasta - ella. Por ahora solo se ha ejecutado en las máquinas macOS de GitHub: las - notificaciones son simples y no se puede hacer clic en ellas, y no hay - elemento en la barra de menús. -- **El árbol de archivos reconoce muchos más tipos de archivo.** Java, Gradle, - C y C++, C#, PHP, Ruby, Swift, SQL, Vue, Svelte, Terraform, Dockerfile, - .gitignore y unos treinta más ahora muestran su propio icono en el árbol de - archivos y en los resultados de búsqueda, donde antes mostraban un glifo de - archivo genérico. +- **Novedades habla tu idioma.** El diálogo que se abre tras una actualización + muestra las notas de la versión, y los nombres de sus grupos, en el idioma + de la interfaz que elegiste, en ambas ventanas. Una versión cuyas notas aún + no tienen traducción las muestra en inglés. +- **Bifurca una sesión en la ventana nativa.** Haz clic derecho en una tarjeta + y elige Bifurcar › Aquí para continuar su conversación en una tarjeta nueva + justo debajo, en el mismo checkout, o Bifurcar › Worktree… para llevarla a + una worktree nueva junto con tus cambios sin confirmar. La copia lleva el + nombre del original ("auth-refactor 2") y una marca de bifurcación. Solo + Claude Code, Codex y opencode: los demás proveedores solo reanudan. +- **La ventana nativa avisa cuando dos tarjetas ejecutan una misma + conversación.** Reanudar, desde la TUI de un agente, una conversación que + otra tarjeta ya tiene abierta muestra un aviso en la esquina inferior + derecha; Cambiar cierra la tarjeta que reanudó y trae la que la tenía. +- **La ventana nativa muestra imágenes.** Un PNG, JPEG, GIF, WebP o BMP se + abre en la vista previa de la pestaña Archivos sobre un tablero de ajedrez, + con su tamaño y dimensiones, y una imagen modificada en la Revisión se + muestra antes y después lado a lado. Un PDF, o cualquier otro archivo sin + vista previa, ofrece Abrir en la app predeterminada y Mostrar en la carpeta + en lugar de un error; en un pull request, un archivo binario enlaza a sí + mismo en GitHub. +- **La ventana nativa en tu idioma.** Cada pantalla de la ventana nativa se + lee en portugués, español y chino, y Ajustes › General tiene el idioma de la + interfaz y el idioma de los prompts, como los tiene la ventana web en + Apariencia. Antes de que elijas uno, la interfaz sigue el idioma de tu + sistema. Elegir chino en un equipo sin fuente china ofrece descargar Noto + Sans SC (unos 25 MB) en la propia carpeta de lich. +- **Japonés.** Ambas ventanas se leen en japonés, y el japonés es un idioma de + prompts, así que lich habla con tus agentes en él. La ventana nativa dibuja + japonés, chino y coreano cada uno con la fuente de su región cuando hay una + instalada (Noto Sans CJK, Yu Gothic, Hiragino, Malgun Gothic y similares), + de modo que los kanji ya no toman formas chinas, y ofrece descargar Noto + Sans JP o KR cuando no hay ninguna, igual que hace con Noto Sans SC para el + chino. El README también está en japonés. +- **Coreano.** Ambas ventanas se leen en coreano, que se elige en Ajustes › + Apariencia en la web y en Ajustes › General en la ventana nativa, y el + coreano es un idioma de prompts: los briefings, los mensajes retransmitidos + y los avisos llegan a tus agentes en coreano. +- **lich habla ruso.** Elige Русский como idioma de la interfaz, en la ventana + web en Ajustes › Apariencia o en la ventana nativa en Ajustes › General, y + como idioma de los prompts, de modo que el briefing, las notas de relevo y + los traspasos que lich escribe en tus agentes también se lean en ruso. Los + recuentos siguen las formas singular, paucal y plural del ruso (1 файл, + 2 файла, 5 файлов). +- **Perfiles de opencode en macOS y Windows, y perfiles de Cursor CLI en + Windows.** Ajustes › Proveedores en la ventana nativa los lista como en + Linux. Cursor CLI en macOS y Kiro CLI en macOS y Windows siguen sin ellos: + allí guardan el inicio de sesión en el llavero o en una carpeta que ningún + ajuste puede mover, así que todos los perfiles compartirían una misma + cuenta. + +### Changed + +- **Cada actualización abre la ventana nativa.** El primer inicio de cada + versión cambia lich a la ventana nativa, recurriendo a la web donde no puede + arrancar; vuelve a cambiar en Ajustes y lich se queda en la ventana web + hasta la siguiente versión. La primera vez que se abre la ventana nativa, + avisa de que es experimental y enlaza a un informe de errores. +- **Un anillo de estado más ligero en la ventana nativa.** El anillo alrededor + del icono de una tarjeta de sesión se dibuja más fino, para leerse con el + peso que le da la ventana web. +- **Teclas de atajo más espaciosas en la ventana nativa.** Las teclas de la + paleta de comandos, la superposición de atajos y Ajustes › Atajos tienen más + espacio alrededor del texto, que queda centrado. +- **Ajustes en la ventana nativa se abre en Global.** El engranaje de la barra + superior siempre abre Ajustes en Global en lugar del ámbito en el que lo + dejaste; la pestaña de un proyecto sigue abriendo sus propios ajustes desde + Ajustes del proyecto…. +- **Una paleta de comandos más tranquila en la ventana nativa.** Cada sesión, + proyecto y mensaje ocupa una línea, con su ruta después del nombre; la ruta + de una worktree muestra sus últimas tres partes. Las sesiones que esperan + por ti van primero y lo indican, y las pestañas de filtro cambian sus + píldoras por un subrayado. Una sesión cerrada en Historial muestra a la + derecha su rama y su antigüedad, y una segunda línea solo cuando una + búsqueda coincidió con su conversación, con las palabras marcadas. ### Fixed -- **`lich quit` cierra la ventana nativa.** Se quedaba abierta mostrando lich - como perdido una vez que el backend había terminado; Salir de lich en la - bandeja y una señal de parada también la cierran, mientras que un reinicio - tras una actualización sigue conservándola. -- **La ventana nativa ofrece eliminar una worktree cuando se cierra su última sesión.** El - aviso Se cerró gana Eliminar worktree junto a Deshacer; una worktree que lich no creó, - o una con cambios sin confirmar, se nombra en un diálogo antes de eliminarla. -- **El terminal de la ventana nativa toma la celda bajo el puntero.** Un clic, - una selección con arrastre, un enlace y un programa que sigue el ratón leían - todos el puntero desplazado por el relleno del terminal, así que la celda - que tomaban quedaba por debajo y a la derecha de la señalada, por casi una - celda entera en una pantalla escalada. -- **El terminal de la ventana nativa dibuja emoji.** Una fuente de emoji a - color como Noto Color Emoji guarda cada emoji como una imagen y no como un - contorno, y el terminal solo dibujaba contornos, así que cada emoji aparecía - como un hueco en blanco; ahora se dibujan a color, ocupando dos celdas. -- **El árbol de archivos de la ventana nativa muestra el icono de lenguaje de cada archivo.** - Todos los archivos dibujaban el mismo glifo de archivo genérico; ahora cada - uno lleva el icono que le da la ventana del navegador. -- **Un pull request que abre un agente aparece en su tarjeta al terminar el turno.** - La insignia solo volvía a consultarse cuando cambiaba la rama o su último - commit, y abrir un pull request no cambia ninguno de los dos, así que - esperaba a que la ventana perdiera y recuperara el foco. -- **La ventana nativa se abre en Windows.** Buscaba las fuentes mediante - fontconfig, que Windows no incluye, así que se cerraba al iniciar y lich - recurría a la ventana web. Ahora, en Windows, encuentra por sí misma las - fuentes instaladas, con Cascadia Mono o Consolas para el terminal por - defecto, y los selectores de fuente de Ajustes las listan. -- **Cambiar entre un tema claro y uno oscuro ya no congela la ventana - nativa.** A una sesión que sigue el esquema de color del terminal, como hace - Claude Code, se le avisaba del cambio mientras la ventana todavía conservaba - sus terminales, así que la ventana se colgaba y se cerraba. +- **Una sesión reiniciada ya no aparece como ocupada para siempre.** Una + sesión cuyo agente murió a mitad de un turno, o que se cerró a mitad de un + turno, volvía bajo la misma tarjeta todavía listada como ocupada para las + demás sesiones: una tarea enviada a ella esperaba un turno que nunca + terminaría. Ahora arranca sin estado, como una nueva. +- **Codex, Cursor CLI, Antigravity y Crush dejan de preguntar donde ya + respondiste.** Una sesión en sandbox de cualquiera de ellos se abre + directamente en su prompt. Cursor CLI y Antigravity ya no vuelven a + preguntar en una worktree de una carpeta en la que confiaste, ni Antigravity + en sus subcarpetas, y Crush ya no pide inicializar cada worktree nueva. Una + sesión de oh-my-pi en sandbox ya no se abre en su asistente de + configuración. +- **Claude Code deja de preguntar "¿confiar en esta carpeta?" donde ya + respondiste.** Una carpeta en la que confiaste en tu cuenta principal es de + confianza en todos los demás perfiles de Claude Code desde su siguiente + sesión allí, y una sesión de Claude Code en sandbox se abre sin la pregunta. + Una sesión que lich abrió por ti ya no se queda en esa pantalla, donde Enter + sale. +- **Una ventana nativa reabierta sabe adónde fue cada sesión.** Una sesión que + se había movido con `cd`, o dentro de tmux o ssh, volvía mostrando la ruta, + la rama y los cambios de su checkout hasta su siguiente `cd`; ahora la + ventana lee dónde estuvo cada una por última vez al conectarse. +- **La ventana nativa escribe los prompts de los agentes en tu idioma de + prompts.** Los traspasos de pull requests e issues y un lote de comentarios + de revisión se escribían siempre en inglés. +- **Un cambio de tema durante una reconexión ya no cuelga la ventana nativa.** + Cambiar el tema, o que el sistema alternara entre claro y oscuro, mientras + la ventana se reconectaba a un lich reiniciado podía pintar terminales que + la reconexión acababa de liberar y derribar la ventana. +- **El texto en chino, japonés y coreano ya no congela la ventana nativa en + Linux.** Una sesión, una Revisión o un pull request llenos de texto CJK + podían colgar la ventana durante segundos, lo bastante para "no responde", y + un zoom traía el congelamiento de vuelta. +- **La ventana nativa usa menos memoria.** El terminal de cada sesión y la + Revisión cargaban su propia copia de las fuentes de reserva, decenas de + megabytes cada una para una fuente CJK o de emoji: seis sesiones abiertas + ahora ocupan cerca de la mitad de la memoria que antes. También arranca más + rápido en un equipo con fuentes CJK instaladas. +- **Reabrir una sesión cuya conversación ya está abierta enfoca esa + tarjeta.** Una sesión cerrada desde Historial, un cierre deshecho o una + worktree existente podían volver como una segunda tarjeta sobre una + conversación que otra tarjeta seguía ejecutando, y las dos escribían en la + misma transcripción. Historial lista una conversación así una sola vez, por + su último cierre, y Olvidar elimina todas sus copias. diff --git a/changelog/ja.md b/changelog/ja.md index 5dc2a985..f97d5bb6 100644 --- a/changelog/ja.md +++ b/changelog/ja.md @@ -1,18 +1,33 @@ -## [0.69.0] - 2026-10-16 +## [0.70.0] - 2026-10-17 ### Added -- **macOS でネイティブウィンドウを利用可能に(実験的)。** Lich.app は Apple Silicon と Intel の両方で lich と並べてネイティブウィンドウを同梱しており、Linux や Windows と同じく設定 › 外観 › ウィンドウから選べます。ターミナルでは Option キーが文字入力に使われます(Terminal.app と同じ動作)。そのため、エージェントの Option+文字 のショートカットは届きません。これまでのところ GitHub の macOS マシンでしか動作しておらず、通知はクリックできない通常の通知で、メニューバー項目もありません。 -- **ファイルツリーが対応するファイル形式が大幅に増えました。** Java、Gradle、C と C++、C#、PHP、Ruby、Swift、SQL、Vue、Svelte、Terraform、Dockerfile、.gitignore のほか約 30 種類が、これまでの無地のファイルアイコンに代わって、ファイルツリーと検索結果で専用のアイコンで表示されます。 +- **「新機能」があなたの言語で表示されます。** アップデート後に開くダイアログが、リリースノートとそのグループ名を、選択したインターフェースの言語で表示します。両方のウィンドウで対応しています。リリースノートの翻訳がまだないビルドでは、英語で表示されます。 +- **ネイティブウィンドウでセッションをフォークできます。** カードを右クリックして「フォーク › ここで」を選ぶと、同じチェックアウトのまま、そのすぐ下の新しいカードで会話を続けられます。「フォーク › ワークツリー…」を選ぶと、未コミットの変更ごと新しいワークツリーに移せます。コピーには元の名前が付き(「auth-refactor 2」)、フォークのマークが表示されます。対応するのは Claude Code、Codex、opencode のみで、それ以外のプロバイダーでは再開のみです。 +- **ネイティブウィンドウが、2 枚のカードで 1 つの会話が動いていることを警告します。** エージェント自身の TUI の中から、すでに別のカードで開いている会話を再開すると、右下に警告が表示されます。「切り替える」を押すと、再開したカードが閉じ、その会話を開いていたカードが前面に表示されます。 +- **ネイティブウィンドウで画像を表示できます。** PNG、JPEG、GIF、WebP、BMP は、ファイルタブのプレビューに市松模様の背景で表示され、サイズと寸法も確認できます。レビューでは、変更された画像が変更前と変更後を並べて表示されます。PDF など、プレビューのないファイルではエラーの代わりに「既定のアプリで開く」と「フォルダーに表示」が表示されます。プルリクエストでは、バイナリファイルは GitHub 上の該当ファイルへのリンクになります。 +- **ネイティブウィンドウがあなたの言語に対応しました。** ネイティブウィンドウのすべての画面が、ポルトガル語、スペイン語、中国語で表示されます。設定 › 一般にはインターフェースの言語とプロンプトの言語があり、ウェブウィンドウでは外観の下にあるものと同じです。選択するまでは、インターフェースはシステムの言語に従います。中国語のフォントがないマシンで中国語を選ぶと、Noto Sans SC(約 25 MB)を lich 専用のフォルダーにダウンロードするかどうかを尋ねます。 +- **日本語。** 両方のウィンドウが日本語で表示され、日本語はプロンプトの言語にもなるため、lich はエージェントに日本語で話しかけます。ネイティブウィンドウは、日本語・中国語・韓国語をそれぞれの地域のフォントで描画します(インストールされていれば。Noto Sans CJK、Yu Gothic、Hiragino、Malgun Gothic など)。そのため漢字が中国語の字形になることはなくなりました。該当するフォントがない場合は、中国語の Noto Sans SC と同様に、Noto Sans JP または KR をダウンロードするかどうかを尋ねます。README も日本語になりました。 +- **韓国語。** 両方のウィンドウが韓国語で表示されます。ウェブでは設定 › 外観、ネイティブウィンドウでは設定 › 一般で選べます。韓国語はプロンプトの言語にもなり、ブリーフィング、中継されたメッセージ、通知がエージェントに韓国語で届きます。 +- **lich がロシア語に対応しました。** Русский をインターフェースの言語として選べます。ウェブウィンドウでは設定 › 外観、ネイティブウィンドウでは設定 › 一般にあります。プロンプトの言語としても選べるため、lich がエージェントに入力するブリーフィング、中継メモ、引き継ぎもロシア語になります。数はロシア語の one、few、many の 3 つの形に従います(1 файл、2 файла、5 файлов)。 +- **macOS と Windows での opencode プロファイル、Windows での Cursor CLI プロファイル。** ネイティブウィンドウの設定 › プロバイダーに、Linux と同様に一覧表示されます。macOS の Cursor CLI と、macOS および Windows の Kiro CLI には、引き続きありません。これらではログイン情報が Keychain、または設定では移せないフォルダーに保存されるため、どのプロファイルも 1 つのアカウントを共有することになります。 -### Fixed +### Changed + +- **アップデートのたびにネイティブウィンドウが開きます。** 各リリースの初回起動で lich はネイティブウィンドウに切り替わり、起動できない場合はウェブウィンドウにフォールバックします。設定で切り替え直すと、次のリリースまで lich はウェブウィンドウのままです。ネイティブウィンドウが初めて開くときは、実験的であることを知らせ、バグ報告へのリンクを表示します。 +- **ネイティブウィンドウのステータスリングが細くなりました。** セッションカードのアイコンを囲むリングがより細く描画され、ウェブウィンドウと同じ太さで表示されます。 +- **ネイティブウィンドウのショートカットキーの余白が広くなりました。** コマンドパレット、ショートカットの一覧、設定 › ショートカットのキーキャップは、文字の周りの余白が広くなり、文字は中央に配置されます。 +- **ネイティブウィンドウの設定は「グローバル」で開きます。** 上部バーの歯車は、最後に開いていたスコープではなく、常に「グローバル」で設定を開きます。プロジェクトのタブから「プロジェクト設定…」を選ぶと、引き続きそのプロジェクトの設定が開きます。 +- **ネイティブウィンドウのコマンドパレットがすっきりしました。** セッション、プロジェクト、メッセージは 1 行で表示され、名前の後にパスが付きます。ワークツリーのパスは最後の 3 つの要素を表示します。あなたの応答を待っているセッションが先頭に並び、その旨が表示されます。フィルタータブはピルをやめて下線になりました。履歴の閉じたセッションは、右側にブランチと経過時間を表示し、検索が会話に一致したときだけ 2 行目を追加して、該当する語を強調します。 -- **`lich quit` がネイティブウィンドウを閉じるようになりました。** バックエンドが終了したあとも、ウィンドウは lich を接続切れとして表示したまま開いたままでした。トレイの終了や停止シグナルでも閉じます。一方、アップデート後の再起動ではウィンドウは維持されます。 -- **ネイティブウィンドウで、最後のセッションを閉じたときにワークツリーを削除できるようになりました。** 「閉じました」トーストに「元に戻す」と並んで「ワークツリーを削除」が加わります。lich が作成していないワークツリーや未コミットの変更があるワークツリーは、削除する前にダイアログで知らされます。 +### Fixed -- **ネイティブウィンドウのターミナルが、ポインターの下のセルを正しく扱うようになりました。** クリック、ドラッグ選択、リンク、マウスを追跡するプログラムのいずれも、ターミナルのパディング分ずれた位置のポインターを読み取っていたため、実際に指しているセルの右下のセルが対象になっていました。スケーリングされたディスプレイでは、そのずれはほぼセル 1 つ分でした。 -- **ネイティブウィンドウのターミナルが絵文字を描画するようになりました。** Noto Color Emoji などのカラー絵文字フォントは、各絵文字をアウトラインではなく画像として保持しています。ターミナルはアウトラインしか描画しなかったため、すべての絵文字が空白になっていました。現在は 2 セル幅のカラーで描画されます。 -- **ネイティブウィンドウのファイルツリーが、ファイルごとの言語アイコンを表示するようになりました。** これまではどのファイルも同じ無地のファイルアイコンでしたが、ブラウザウィンドウと同じアイコンが付きます。 -- **エージェントが開いたプルリクエストが、ターンの終了時にカードへ表示されるようになりました。** バッジはブランチまたは最後のコミットが動いたときにしか再確認されず、プルリクエストを開いてもどちらも動かないため、ウィンドウのフォーカスが外れて戻るまで待たされていました。 -- **Windows でネイティブウィンドウが開くようになりました。** フォントの検索に Windows には含まれない fontconfig を使っていたため、起動時に閉じてしまい、lich はウェブウィンドウに切り替わっていました。Windows ではインストール済みのフォントを自前で見つけるようになり、ターミナルの既定は Cascadia Mono または Consolas、設定のフォントピッカーにも一覧表示されます。 -- **ライトテーマとダークテーマを切り替えてもネイティブウィンドウがフリーズしなくなりました。** Claude Code のように、ターミナルの配色に追従するセッションへ、ウィンドウがまだターミナルを保持している間に変更が通知されていたため、ウィンドウがハングして閉じていました。 +- **再起動したセッションが、ずっと処理中のままに見えなくなりました。** ターンの途中でエージェントが終了したセッションや、ターンの途中で閉じられたセッションは、同じカードのまま戻ってきても、ほかのセッションからは処理中と表示されていました。そのセッションに送ったタスクは、終わることのないターンを待ち続けていました。現在は新しいセッションと同じく、状態のない状態で開始します。 +- **Codex、Cursor CLI、Antigravity、Crush が、すでに答えた質問を繰り返さなくなりました。** これらのいずれかのサンドボックス化されたセッションは、そのままプロンプトで開きます。Cursor CLI と Antigravity は、信頼済みのフォルダーのワークツリーで再度尋ねなくなり、Antigravity はそのサブフォルダーでも尋ねなくなりました。Crush も新しいワークツリーごとに初期化を尋ねなくなりました。サンドボックス化された oh-my-pi のセッションも、セットアップウィザードで開かなくなりました。 +- **Claude Code が、すでに答えた「このフォルダーを信頼しますか?」を尋ねなくなりました。** メインのアカウントで信頼したフォルダーは、ほかのすべての Claude Code プロファイルでも、そこでの次のセッションから信頼されます。サンドボックス化された Claude Code のセッションは、この質問なしで開きます。lich が開いたセッションが、Enter で終了してしまうこの画面で止まることもなくなりました。 +- **再び開いたネイティブウィンドウが、各セッションの移動先を把握するようになりました。** `cd` や tmux、ssh で移動していたセッションが、次の `cd` までチェックアウトのパス、ブランチ、変更を表示したまま戻ってくることがありました。現在はウィンドウが接続時に、各セッションの最後の場所を読み取ります。 +- **ネイティブウィンドウが、エージェントへのプロンプトをプロンプトの言語で書くようになりました。** プルリクエストと issue の引き継ぎ、およびレビューコメントのまとめが、常に英語で入力されていました。 +- **再接続中にテーマを変更してもネイティブウィンドウがクラッシュしなくなりました。** ウィンドウが再起動した lich に再接続している間にテーマを切り替えたり、システムがライトとダークを切り替えたりすると、再接続で解放されたばかりのターミナルを描画してしまい、ウィンドウが落ちることがありました。 +- **中国語・日本語・韓国語のテキストで、Linux のネイティブウィンドウがフリーズしなくなりました。** CJK のテキストが大量にあるセッション、レビュー、プルリクエストでは、ウィンドウが数秒間ハングして「応答なし」になることがあり、ズームするとフリーズが再発していました。 +- **ネイティブウィンドウのメモリ使用量が減りました。** 各セッションのターミナルとレビューが、フォールバック先のフォントをそれぞれ独自に読み込んでいました。CJK や絵文字のフォントでは 1 つにつき数十 MB です。現在は 6 つのセッションを開いたときのメモリ使用量が約半分になりました。CJK フォントがインストールされているマシンでは、起動も速くなりました。 +- **会話がすでに開いているセッションを再び開くと、そのカードにフォーカスします。** 履歴から閉じたセッションを開いたとき、閉じる操作を元に戻したとき、既存のワークツリーを開いたときに、別のカードがまだ実行している会話に 2 枚目のカードが作られ、2 つが同じトランスクリプトに書き込むことがありました。履歴にはそのような会話が最新の終了分だけ 1 件表示され、「履歴から削除」はそのすべてのコピーを削除します。 diff --git a/changelog/ko.md b/changelog/ko.md index 5c8a3d14..023d56bb 100644 --- a/changelog/ko.md +++ b/changelog/ko.md @@ -1,39 +1,92 @@ -## [0.69.0] - 2026-10-16 +## [0.70.0] - 2026-10-17 ### Added -- **macOS에서 네이티브 창을 사용할 수 있습니다(실험).** Lich.app이 Apple Silicon과 Intel 모두에서 - lich와 함께 네이티브 창을 제공하며, 설정 › 모양 › 창에서 Linux, Windows와 같이 선택할 수 - 있습니다. 터미널에서는 Option 키가 Terminal.app처럼 문자를 입력하므로, 에이전트의 Option+글자 - 단축키는 터미널에 전달되지 않습니다. 지금까지는 GitHub의 macOS 머신에서만 실행해 보았습니다. - 알림은 클릭할 수 없는 일반 알림이며, 메뉴 막대 항목은 없습니다. -- **파일 트리가 훨씬 더 많은 파일 형식을 인식합니다.** Java, Gradle, C와 C++, C#, PHP, Ruby, - Swift, SQL, Vue, Svelte, Terraform, Dockerfile, .gitignore를 비롯해 약 서른 가지가 더 이제 - 파일 트리와 검색 결과에서 일반 파일 아이콘 대신 각자의 아이콘으로 표시됩니다. +- **새로운 기능 안내가 사용자의 언어로 표시됩니다.** 업데이트 후 열리는 대화상자가 릴리스 노트와 + 그 그룹 이름을 선택한 인터페이스 언어로, 두 창 모두에서 보여 줍니다. 아직 번역이 없는 빌드의 + 노트는 영어로 표시됩니다. +- **네이티브 창에서 세션을 포크할 수 있습니다.** 카드를 오른쪽 클릭해 포크 › 여기서를 고르면 + 같은 체크아웃의 바로 아래 새 카드에서 대화를 이어 가고, 포크 › worktree…를 고르면 커밋하지 않은 + 변경 사항과 함께 새 worktree로 옮깁니다. 복사본은 원본의 이름("auth-refactor 2")을 따르고 + 포크 표시가 붙습니다. Claude Code, Codex, opencode에서만 가능하며, 다른 프로바이더는 재개만 + 할 수 있습니다. +- **네이티브 창이 두 카드가 같은 대화를 실행하면 경고합니다.** 에이전트 자체 TUI 안에서, 이미 다른 + 카드에 열려 있는 대화를 재개하면 오른쪽 아래에 경고가 뜨며, 전환을 누르면 재개한 카드가 닫히고 + 그 대화를 가지고 있던 카드가 나타납니다. +- **네이티브 창이 이미지를 표시합니다.** PNG, JPEG, GIF, WebP, BMP는 파일 탭의 미리 보기에서 체커보드 + 위에 크기 및 해상도와 함께 열리고, 리뷰에서는 변경된 이미지의 이전과 이후가 나란히 표시됩니다. + PDF나 미리 볼 수 없는 다른 파일은 오류 대신 기본 앱에서 열기와 폴더에서 보기를 제공하며, 풀 + 리퀘스트의 바이너리 파일은 GitHub의 해당 파일로 연결됩니다. +- **네이티브 창이 사용자의 언어로 표시됩니다.** 네이티브 창의 모든 화면이 포르투갈어, 스페인어, + 중국어로 표시되며, 설정 › 일반에서 웹 창의 모양 아래에 있는 것과 같은 인터페이스 언어와 프롬프트 + 언어를 고를 수 있습니다. 고르기 전에는 시스템 언어를 따릅니다. 중국어 글꼴이 없는 컴퓨터에서 + 중국어를 고르면 Noto Sans SC(약 25MB)를 lich 자체 폴더로 다운로드할지 묻습니다. +- **일본어를 지원합니다.** 두 창 모두 일본어로 표시되며, 일본어는 프롬프트 언어이기도 해서 lich가 + 에이전트에게 일본어로 말합니다. 네이티브 창은 일본어, 중국어, 한국어를 각자 지역의 글꼴(Noto Sans + CJK, Yu Gothic, Hiragino, Malgun Gothic 등)이 설치되어 있으면 그 글꼴로 그리므로 한자가 더 이상 + 중국어 자형으로 나오지 않으며, 글꼴이 없으면 중국어의 Noto Sans SC처럼 Noto Sans JP나 KR을 + 다운로드할지 묻습니다. README도 일본어로 제공됩니다. +- **한국어를 지원합니다.** 두 창 모두 한국어로 표시되며, 웹에서는 설정 › 모양, 네이티브 창에서는 설정 + › 일반에서 고릅니다. 한국어는 프롬프트 언어이기도 해서 브리핑, 전달 메시지, 알림이 에이전트에게 + 한국어로 전달됩니다. +- **lich가 러시아어를 지원합니다.** 웹 창에서는 설정 › 모양, 네이티브 창에서는 설정 › 일반의 + 인터페이스 언어로 Русский를 고를 수 있고, 프롬프트 언어로도 고를 수 있어 lich가 에이전트에게 + 입력하는 브리핑, 전달 메모, 인계도 러시아어로 표시됩니다. 개수는 러시아어의 one, few, many 형태를 + 따릅니다(1 файл, 2 файла, 5 файлов). +- **macOS와 Windows의 opencode 프로필, Windows의 Cursor CLI 프로필을 지원합니다.** 네이티브 창의 + 설정 › 프로바이더에 Linux와 같은 방식으로 표시됩니다. macOS의 Cursor CLI와 macOS 및 Windows의 Kiro + CLI에는 아직 없습니다. 이들은 로그인 정보를 키체인이나 어떤 설정으로도 옮길 수 없는 폴더에 + 보관하므로, 프로필을 만들어도 모두 하나의 계정을 공유하게 됩니다. + +### Changed + +- **업데이트할 때마다 네이티브 창이 열립니다.** 각 릴리스의 첫 실행은 lich를 네이티브 창으로 + 전환하며, 시작할 수 없으면 웹 창으로 대체합니다. 설정에서 다시 전환하면 다음 릴리스까지 lich는 + 웹 창에 머뭅니다. 네이티브 창이 처음 열릴 때는 실험 단계라는 안내와 버그 신고 링크가 표시됩니다. +- **네이티브 창의 상태 링이 더 가벼워졌습니다.** 세션 카드 아이콘 둘레의 링이 더 가늘게 그려져, + 웹 창과 같은 굵기로 보입니다. + +- **네이티브 창의 단축키 키캡이 더 넉넉해졌습니다.** 명령 팔레트, 단축키 오버레이, 설정 › 단축키의 + 키캡에서 글자 둘레의 여백이 늘었고 글자는 가운데에 놓입니다. + +- **네이티브 창의 설정이 전역에서 열립니다.** 상단 바의 톱니바퀴는 마지막으로 보던 범위 대신 항상 + 설정을 전역에서 열며, 프로젝트 탭은 여전히 프로젝트 설정…에서 해당 프로젝트의 설정을 엽니다. + +- **네이티브 창의 명령 팔레트가 더 차분해졌습니다.** 세션, 프로젝트, 메시지는 각각 한 줄을 + 차지하고 이름 뒤에 경로가 붙으며, worktree의 경로는 마지막 세 부분을 보여 줍니다. 사용자를 + 기다리는 세션이 먼저 나오고 그렇게 표시되며, 필터 탭은 알약 모양 대신 밑줄로 바뀝니다. 기록의 + 닫힌 세션은 오른쪽에 브랜치와 경과 시간을 보여 주고, 검색어가 대화와 일치했을 때만 단어를 강조해 + 둘째 줄을 보여 줍니다. ### Fixed -- **`lich quit`이 네이티브 창을 닫습니다.** 백엔드가 사라진 뒤에도 창이 열린 채 lich를 연결이 - 끊긴 것으로 표시했습니다. 이제 트레이의 종료와 중지 신호도 창을 닫으며, 업데이트 후 재시작할 - 때는 창이 그대로 유지됩니다. -- **네이티브 창이 마지막 세션을 닫을 때 worktree 삭제를 제안합니다.** 닫힘 토스트에 실행 취소 - 옆으로 worktree 삭제 버튼이 생겼으며, lich가 만들지 않은 worktree나 커밋하지 않은 변경 사항이 - 있는 worktree는 삭제하기 전에 대화상자에서 알려 줍니다. - -- **네이티브 창의 터미널이 포인터 아래의 셀을 선택합니다.** 클릭, 드래그 선택, 링크, 마우스를 - 추적하는 프로그램이 모두 터미널 패딩만큼 어긋난 포인터 위치를 읽었기 때문에, 가리킨 셀이 아니라 - 오른쪽 아래의 셀이 선택되었습니다. 배율이 적용된 디스플레이에서는 어긋남이 셀 하나에 가까웠습니다. -- **네이티브 창의 터미널이 이모지를 그립니다.** Noto Color Emoji 같은 컬러 이모지 글꼴은 각 - 이모지를 윤곽선이 아니라 그림으로 저장하는데, 터미널은 윤곽선만 그릴 수 있어서 모든 이모지가 - 빈 칸으로 보였습니다. 이제 컬러로, 두 셀 너비로 그려집니다. -- **네이티브 창의 파일 트리가 파일마다 언어 아이콘을 표시합니다.** 모든 파일이 똑같은 일반 파일 - 아이콘으로 그려졌는데, 이제 웹 창이 붙여 주는 것과 같은 아이콘이 붙습니다. -- **에이전트가 연 풀 리퀘스트가 턴이 끝나면 카드에 표시됩니다.** 배지는 브랜치나 마지막 커밋이 - 바뀔 때만 다시 확인했는데, 풀 리퀘스트를 열어도 둘 다 바뀌지 않아서 창이 포커스를 잃었다가 - 되찾을 때까지 기다려야 했습니다. -- **Windows에서 네이티브 창이 열립니다.** 글꼴을 Windows에 없는 fontconfig로 찾으려다 시작할 때 - 창이 닫혔고, lich는 웹 창으로 대체되었습니다. 이제 Windows에서는 설치된 글꼴을 직접 찾으며, - 터미널 기본 글꼴은 Cascadia Mono 또는 Consolas이고 설정의 글꼴 선택기에도 목록이 표시됩니다. -- **밝은 테마와 어두운 테마를 전환해도 네이티브 창이 더 이상 멈추지 않습니다.** Claude Code처럼 - 터미널의 색 구성표를 따르는 세션이, 창이 아직 터미널을 붙잡고 있는 동안 변경 사실을 전달받아 - 창이 멈춘 뒤 닫혔습니다. +- **재시작된 세션이 더 이상 영원히 바쁜 것으로 표시되지 않습니다.** 턴 도중 에이전트가 죽었거나 턴 + 도중 닫힌 세션이 같은 카드로 돌아왔을 때 다른 세션에는 여전히 바쁜 것으로 나타나, 그 세션에 보낸 + 작업이 끝나지 않을 턴을 기다렸습니다. 이제 새 세션처럼 상태 없이 시작합니다. +- **Codex, Cursor CLI, Antigravity, Crush가 이미 답한 것을 다시 묻지 않습니다.** 이들 중 어느 + 프로바이더든 샌드박스 세션은 바로 프롬프트에서 열립니다. Cursor CLI와 Antigravity는 신뢰한 + 폴더의 worktree에서 다시 묻지 않고, Antigravity는 그 하위 폴더에서도 묻지 않으며, Crush는 새 + worktree마다 초기화할지 묻지 않습니다. 샌드박스 oh-my-pi 세션은 더 이상 설정 마법사에서 열리지 + 않습니다. +- **Claude Code가 이미 답한 곳에서 "이 폴더를 신뢰하나요?"를 다시 묻지 않습니다.** 메인 계정에서 + 신뢰한 폴더는 다른 모든 Claude Code 프로필에서도 그곳의 다음 세션부터 신뢰되고, 샌드박스 Claude + Code 세션은 질문 없이 열립니다. lich가 대신 연 세션이 더 이상 Enter를 누르면 종료되는 그 화면에 + 머물지 않습니다. +- **다시 연 네이티브 창이 각 세션이 어디로 갔는지 알아냅니다.** `cd`로, 또는 tmux나 ssh로 이동한 + 세션이 다음 `cd`까지 체크아웃의 경로, 브랜치, 변경 사항을 표시한 채 돌아왔는데, 이제 창이 연결될 + 때 각 세션이 마지막으로 있던 곳을 읽어 옵니다. +- **네이티브 창이 에이전트 프롬프트를 프롬프트 언어로 작성합니다.** 풀 리퀘스트와 이슈 인계, 그리고 + 리뷰 코멘트 묶음이 항상 영어로 입력되었습니다. +- **재연결 중 테마를 바꿔도 네이티브 창이 더 이상 충돌하지 않습니다.** 창이 재시작된 lich에 다시 + 연결되는 동안 테마를 바꾸거나 시스템이 밝은 테마와 어두운 테마를 전환하면, 재연결이 방금 해제한 + 터미널을 그려 창이 종료될 수 있었습니다. +- **중국어, 일본어, 한국어 텍스트가 더 이상 Linux의 네이티브 창을 멈추지 않습니다.** CJK 텍스트로 + 가득한 세션, 리뷰, 풀 리퀘스트가 창을 몇 초간 멈춰 "응답 없음"이 뜰 정도였고, 확대하면 멈춤이 + 다시 나타났습니다. +- **네이티브 창이 메모리를 덜 사용합니다.** 각 세션의 터미널과 리뷰가 대체 글꼴을 각자 따로 + 불러왔고, CJK나 이모지 글꼴은 하나에 수십 MB였습니다. 이제 세션 여섯 개를 열었을 때 메모리 + 사용량이 이전의 약 절반입니다. CJK 글꼴이 설치된 컴퓨터에서는 시작도 더 빠릅니다. +- **대화가 이미 열려 있는 세션을 다시 열면 그 카드로 포커스가 이동합니다.** 기록의 닫힌 세션, 실행 + 취소한 닫기, 기존 worktree가 다른 카드가 아직 실행 중인 대화의 두 번째 카드로 돌아와 둘이 같은 + 대화 기록에 썼습니다. 이제 기록은 그런 대화를 마지막으로 닫은 시점 기준으로 한 번만 보여 주고, + 지우기는 그 대화의 모든 사본을 제거합니다. diff --git a/changelog/pt-BR.md b/changelog/pt-BR.md index 457864c8..2a2a1a63 100644 --- a/changelog/pt-BR.md +++ b/changelog/pt-BR.md @@ -1,49 +1,124 @@ -## [0.69.0] - 2026-10-16 +## [0.70.0] - 2026-10-17 ### Added -- **A janela nativa no macOS, experimental.** O Lich.app a traz junto com o lich - no Apple Silicon e no Intel, e Configurações › Aparência › Janela a oferece como - no Linux e no Windows. A tecla Option digita caracteres no terminal dela, como - no Terminal.app, então atalhos Option+letra de um agente não chegam a ele. Até - agora ela só rodou nas máquinas macOS do GitHub: as notificações são simples e - não dá para clicar nelas, e não há item na barra de menus. -- **A árvore de arquivos reconhece muito mais tipos de arquivo.** Java, Gradle, C e C++, - C#, PHP, Ruby, Swift, SQL, Vue, Svelte, Terraform, Dockerfile, .gitignore e - mais umas trinta extensões agora mostram o próprio ícone na árvore de arquivos e - nos resultados de busca, onde antes mostravam um glifo de arquivo genérico. +- **O Novidades fala a sua língua.** O diálogo que abre depois de uma atualização + mostra as notas da versão, e os nomes dos grupos delas, no idioma da interface + que você escolheu, nas duas janelas. Uma versão cujas notas ainda não têm + tradução as mostra em inglês. +- **Fork de uma sessão na janela nativa.** Clique com o botão direito em um card e + escolha Fork › Aqui para continuar a conversa dele em um novo card logo abaixo, + no mesmo checkout, ou Fork › Worktree… para levá-la a uma nova worktree junto + com as suas alterações não commitadas. A cópia recebe o nome do original + ("auth-refactor 2") e leva uma marca de fork. Só Claude Code, Codex e opencode: + os outros provedores só retomam. +- **A janela nativa avisa quando dois cards rodam uma só conversa.** Retomar, de + dentro da TUI do próprio agente, uma conversa que outro card já tem aberta + mostra um aviso no canto inferior direito; Trocar fecha o card que retomou e + traz à frente o que já a tinha. +- **A janela nativa mostra imagens.** Um PNG, JPEG, GIF, WebP ou BMP abre na + prévia da aba Arquivos sobre um xadrez, com seu tamanho e dimensões, e uma + imagem alterada na Revisão aparece antes e depois lado a lado. Um PDF, ou + qualquer outro arquivo sem prévia, oferece Abrir no app padrão e Mostrar na + pasta em vez de um erro; em um pull request, um arquivo binário leva um link + para ele mesmo no GitHub. +- **A janela nativa no seu idioma.** Todas as telas da janela nativa aparecem em + português, espanhol e chinês, e Configurações › Geral tem o idioma da interface + e o idioma dos prompts, como a janela web os tem em Aparência. Antes de você + escolher um, a interface segue o idioma do seu sistema. Escolher chinês em uma + máquina sem fonte chinesa oferece baixar a Noto Sans SC (cerca de 25 MB) para a + pasta própria do lich. +- **Japonês.** As duas janelas aparecem em japonês, e o japonês é um idioma de + prompt, então o lich fala com os seus agentes nele. A janela nativa desenha + japonês, chinês e coreano cada um na fonte da sua própria região quando há uma + instalada (Noto Sans CJK, Yu Gothic, Hiragino, Malgun Gothic e semelhantes), + então os kanji não tomam mais formas chinesas, e oferece baixar a Noto Sans JP + ou KR quando não há, como faz com a Noto Sans SC para o chinês. O README também + está em japonês. +- **Coreano.** As duas janelas aparecem em coreano, escolhido em Configurações › + Aparência na web e em Configurações › Geral na janela nativa, e o coreano é um + idioma de prompt: briefings, mensagens repassadas e avisos chegam aos seus + agentes em coreano. +- **O lich fala russo.** Escolha Русский como idioma da interface, na janela web + em Configurações › Aparência ou na janela nativa em Configurações › Geral, e + como idioma dos prompts, para que o briefing, as notas de relay e os handoffs + que o lich digita nos seus agentes também apareçam em russo. As contagens + seguem as formas um, poucos e muitos do russo (1 файл, 2 файла, 5 файлов). +- **Perfis do opencode no macOS e no Windows, e perfis do Cursor CLI no + Windows.** Configurações › Provedores na janela nativa os lista como faz no + Linux. O Cursor CLI no macOS e o Kiro CLI no macOS e no Windows continuam sem + eles: ali guardam o login no Keychain ou em uma pasta que nenhuma configuração + consegue mover, então todo perfil compartilharia uma só conta. -### Fixed +### Changed + +- **Toda atualização abre a janela nativa.** A primeira execução de cada versão + muda o lich para a janela nativa, recorrendo à web onde ela não consegue + iniciar; volte nas Configurações e o lich fica na janela web até a próxima + versão. Na primeira vez que a janela nativa abre, ela diz que é experimental e + leva a um relato de bug. +- **Um anel de status mais leve na janela nativa.** O anel em volta do ícone do + card de uma sessão é desenhado mais fino, para ter o peso que a janela web lhe + dá. + +- **Teclas de atalho mais folgadas na janela nativa.** As teclas na paleta de + comandos, na janela de atalhos e em Configurações › Atalhos têm mais espaço em + volta do texto, que fica centralizado. -- **`lich quit` fecha a janela nativa.** Ela continuava aberta mostrando o lich como - perdido depois que o backend se fora; o Encerrar o lich da bandeja e um sinal de parada - também a fecham, enquanto um reinício depois de uma atualização ainda a mantém. -- **A janela nativa oferece remover o worktree quando a última sessão dele fecha.** O - toast de sessão fechada ganha Remover worktree ao lado de Desfazer; um worktree que o lich não criou, ou - um com alterações não commitadas, é citado em um diálogo antes de ser removido. - -- **O terminal da janela nativa pega a célula sob o ponteiro.** Um clique, - uma seleção por arrasto, um link e um programa que rastreia o mouse liam o - ponteiro deslocado pelo padding do terminal, então a célula captada ficava abaixo - e à direita da apontada, por quase uma célula inteira em uma tela - escalada. -- **O terminal da janela nativa desenha emoji.** Uma fonte de emoji colorido como a - Noto Color Emoji guarda cada emoji como imagem em vez de contorno, e o - terminal só desenhava contornos, então todo emoji aparecia como um espaço vazio; agora - eles são desenhados em cores, ocupando duas células. -- **A árvore de arquivos da janela nativa mostra o ícone de linguagem de cada arquivo.** Todo - arquivo desenhava o mesmo glifo de arquivo genérico; cada um agora leva o ícone que a janela - do navegador lhe dá. -- **Um pull request aberto por um agente aparece no card quando o turno termina.** O - badge só consultava de novo quando a branch ou o último commit dela mudava, e abrir - um pull request não muda nenhum dos dois, então ele esperava a janela perder e recuperar o - foco. -- **A janela nativa abre no Windows.** Ela buscava as fontes pelo - fontconfig, que o Windows não traz, então fechava na inicialização e o lich - recorria à janela web. No Windows ela agora encontra as fontes instaladas - por conta própria, Cascadia Mono ou Consolas para o terminal por padrão, e os - seletores de fonte em Configurações as listam. -- **Alternar entre um tema claro e um escuro não trava mais a janela nativa.** Uma sessão que segue o esquema de cores do terminal, como o Claude Code - faz, era avisada da mudança enquanto a janela ainda segurava seus terminais, então - a janela travava e fechava. +- **As Configurações da janela nativa abrem em Global.** A engrenagem na barra + superior sempre abre as Configurações em Global, em vez do escopo em que você + as deixou por último; a aba de um projeto continua abrindo as configurações + dele em Configurações do projeto…. + +- **Uma paleta de comandos mais calma na janela nativa.** Cada sessão, projeto e + mensagem ocupa uma linha, com o caminho depois do nome; o caminho de uma + worktree mostra as suas três últimas partes. As sessões que esperam por você + vêm primeiro e dizem isso, e as abas de filtro trocam as pílulas por um + sublinhado. Uma sessão fechada no Histórico mostra a branch e a idade à + direita, e uma segunda linha só quando uma busca encontrou a conversa dela, + com as palavras marcadas. + +### Fixed +- **Uma sessão reiniciada não aparece mais como ocupada para sempre.** Uma sessão + cujo agente morreu no meio de um turno, ou que foi fechada no meio de um turno, + voltava no mesmo card ainda listada como ocupada para as outras sessões: uma + tarefa enviada a ela esperava por um turno que nunca terminaria. Agora ela + começa sem estado, como uma nova. +- **Codex, Cursor CLI, Antigravity e Crush deixam de perguntar o que você já + respondeu.** Uma sessão em sandbox de qualquer um deles abre direto no prompt. + O Cursor CLI e o Antigravity não perguntam mais de novo em uma worktree de uma + pasta em que você confiou, nem o Antigravity nas subpastas dela, e o Crush não + pede mais para inicializar cada nova worktree. Uma sessão do oh-my-pi em + sandbox não abre mais no assistente de configuração. +- **O Claude Code deixa de perguntar "confiar nesta pasta?" onde você já + respondeu.** Uma pasta em que você confiou na sua conta principal passa a ser + confiável em todos os outros perfis do Claude Code a partir da próxima sessão + ali, e uma sessão do Claude Code em sandbox abre sem a pergunta. Uma sessão que + o lich abriu para você não fica mais parada nessa tela, onde Enter sai. +- **Uma janela nativa reaberta sabe para onde cada sessão foi.** Uma sessão que + tinha se movido com `cd`, ou para dentro do tmux ou do ssh, voltava mostrando o + caminho, a branch e as alterações do checkout dela até o próximo `cd`; agora a + janela lê onde cada uma esteve por último ao se conectar. +- **A janela nativa escreve os prompts dos agentes no idioma dos seus prompts.** + Os handoffs de pull request e de issue e um lote de comentários de revisão + eram sempre digitados em inglês. +- **Trocar o tema durante uma reconexão não derruba mais a janela nativa.** + Trocar o tema, ou o sistema alternar entre claro e escuro, enquanto a janela se + reconectava a um lich reiniciado podia pintar terminais que a reconexão tinha + acabado de liberar e derrubar a janela. +- **Texto em chinês, japonês e coreano não congela mais a janela nativa no + Linux.** Uma sessão, uma Revisão ou um pull request cheio de texto CJK podia + travar a janela por segundos, o bastante para o "não está respondendo", e um + zoom trazia o congelamento de volta. +- **A janela nativa usa menos memória.** O terminal de cada sessão e a Revisão + carregavam a própria cópia das fontes de reserva, dezenas de megabytes cada + uma para uma fonte CJK ou de emoji: seis sessões abertas agora ocupam cerca da + metade da memória de antes. Ela também inicia mais rápido em uma máquina com + fontes CJK instaladas. +- **Reabrir uma sessão cuja conversa já está aberta foca esse card.** Uma sessão + fechada vinda do Histórico, um fechamento desfeito ou uma worktree existente + podiam voltar como um segundo card em uma conversa que outro card ainda + rodava, e os dois escreviam no mesmo transcript. O Histórico lista essa + conversa uma só vez, pelo fechamento mais recente, e Esquecer remove todas as + cópias dela. diff --git a/changelog/ru.md b/changelog/ru.md index 84683b5b..125f32b7 100644 --- a/changelog/ru.md +++ b/changelog/ru.md @@ -1,49 +1,124 @@ -## [0.69.0] - 2026-10-16 +## [0.70.0] - 2026-10-17 ### Added -- **Нативное окно на macOS, экспериментально.** Lich.app поставляет его вместе - с lich на Apple Silicon и Intel, а Настройки › Оформление › Окно предлагает его - так же, как на Linux и Windows. Клавиша Option вводит символы в его терминале, - как в Terminal.app, поэтому сочетания Option+буква агента до него не доходят. - Пока оно запускалось только на macOS-машинах GitHub: уведомления простые, по - ним нельзя щёлкнуть, а пункта в строке меню нет. -- **Дерево файлов знает гораздо больше типов файлов.** Java, Gradle, C и C++, - C#, PHP, Ruby, Swift, SQL, Vue, Svelte, Terraform, Dockerfile, .gitignore и - ещё около тридцати типов теперь показывают собственную иконку в дереве файлов - и в результатах поиска, где раньше был обычный значок файла. +- **«Что нового» на вашем языке.** Диалог, который открывается после обновления, + показывает примечания к релизу и названия их групп на выбранном вами языке + интерфейса, в обоих окнах. Если у сборки ещё нет перевода примечаний, они + показываются на английском. +- **Форк сессии в нативном окне.** Щёлкните карточку правой кнопкой и выберите + Форк › Здесь, чтобы продолжить её разговор в новой карточке прямо под ней, в том + же checkout, или Форк › Worktree…, чтобы перенести его в новый worktree вместе + с незакоммиченными изменениями. Копия называется по оригиналу + («auth-refactor 2») и помечена значком форка. Только Claude Code, Codex и + opencode: остальные провайдеры умеют лишь возобновлять. +- **Нативное окно предупреждает, когда две карточки ведут один разговор.** + Если из TUI самого агента возобновить разговор, который уже открыт в другой + карточке, в правом нижнем углу появляется предупреждение; «Переключиться» + закрывает карточку, возобновившую разговор, и открывает ту, где он уже был. +- **Нативное окно показывает изображения.** PNG, JPEG, GIF, WebP или BMP + открывается в предпросмотре на вкладке «Файлы» поверх шахматного фона, с + размером и габаритами, а изменённое изображение в «Ревью» показывается «до» и + «после» рядом. PDF или любой другой файл без предпросмотра вместо ошибки + предлагает «Открыть в приложении» и «Показать в папке»; в pull request + бинарный файл ведёт ссылкой на самого себя на GitHub. +- **Нативное окно на вашем языке.** Все экраны нативного окна читаются на + португальском, испанском и китайском, а в Настройки › Общие есть язык + интерфейса и язык промптов, как в веб-окне в разделе «Оформление». Пока вы + не выбрали язык, интерфейс следует языку системы. Если выбрать китайский на + машине без китайского шрифта, lich предложит скачать Noto Sans SC (около + 25 МБ) в собственную папку. +- **Японский.** Оба окна читаются на японском, и японский стал языком + промптов, так что lich общается с вашими агентами на нём. Нативное окно + рисует японский, китайский и корейский каждый шрифтом своего региона, если + он установлен (Noto Sans CJK, Yu Gothic, Hiragino, Malgun Gothic и подобные), + поэтому иероглифы больше не получают китайские начертания, и предлагает + скачать Noto Sans JP или KR, если их нет, как делает с Noto Sans SC для + китайского. README тоже есть на японском. +- **Корейский.** Оба окна читаются на корейском: язык выбирается в Настройки › + Оформление в веб-окне и в Настройки › Общие в нативном, а корейский стал + языком промптов: вводные инструкции, пересылаемые сообщения и уведомления + доходят до ваших агентов на корейском. +- **lich говорит по-русски.** Выберите Русский как язык интерфейса, в веб-окне + в Настройки › Оформление или в нативном в Настройки › Общие, и как язык + промптов, чтобы вводные инструкции, пересылаемые сообщения и передачи, которые + lich вводит вашим агентам, тоже читались по-русски. Числа склоняются по + русским формам one, few и many (1 файл, 2 файла, 5 файлов). +- **Профили opencode на macOS и Windows и профили Cursor CLI на Windows.** + Настройки › Провайдеры в нативном окне показывает их так же, как на Linux. + У Cursor CLI на macOS и у Kiro CLI на macOS и Windows профилей по-прежнему + нет: там вход хранится в Keychain или в папке, которую никакая настройка не + переносит, поэтому все профили делили бы один аккаунт. + +### Changed + +- **Каждое обновление открывает нативное окно.** Первый запуск каждого + релиза переключает lich на нативное окно, а если оно не запускается, на + веб-окно; переключитесь обратно в Настройках, и lich останется на веб-окне до + следующего релиза. При первом открытии нативное окно сообщает, что оно + экспериментальное, и даёт ссылку на отчёт об ошибке. + +- **Более тонкое кольцо статуса в нативном окне.** Кольцо вокруг иконки + карточки сессии теперь тоньше, чтобы выглядеть так же, как в веб-окне. + +- **Более просторные клавиши сочетаний в нативном окне.** У клавиш в палитре + команд, окне сочетаний и Настройки › Сочетания клавиш больше места вокруг + текста, который теперь выровнен по центру. + +- **Настройки в нативном окне открываются на «Глобальные».** Шестерёнка в + верхней панели всегда открывает Настройки на «Глобальные», а не на области, в + которой вы их оставили; вкладка проекта по-прежнему открывает его + собственные настройки через «Настройки проекта…». + +- **Более спокойная палитра команд в нативном окне.** Каждая сессия, проект и + сообщение занимают одну строку, а путь стоит после названия; у worktree в + пути видны три последние части. Сессии, ожидающие вас, идут первыми и + помечены, а у вкладок-фильтров вместо плашек теперь подчёркивание. Закрытая + сессия в «Истории» показывает справа ветку и возраст, а вторую строку только + если поиск совпал с её разговором, с выделенными словами. ### Fixed -- **`lich quit` закрывает нативное окно.** Оно оставалось открытым и показывало - lich как потерянный после остановки бэкенда; Quit в трее и сигнал остановки - тоже его закрывают, а перезапуск после обновления по-прежнему его сохраняет. -- **Нативное окно предлагает удалить worktree, когда закрывается его последняя сессия.** В - уведомлении «Закрыто» рядом с «Отменить» появляется «Удалить worktree»; worktree, созданный - не lich, или с незакоммиченными изменениями, называется в диалоге до удаления. - -- **Терминал нативного окна берёт ячейку под указателем.** Щелчок, выделение - перетаскиванием, ссылка и программа, отслеживающая мышь, считывали положение - указателя со сдвигом на отступ терминала, поэтому выбранная ячейка оказывалась - ниже и правее той, на которую указывали, почти на целую ячейку на дисплее с - масштабированием. -- **Терминал нативного окна рисует эмодзи.** Шрифт цветных эмодзи, например - Noto Color Emoji, хранит каждое эмодзи как картинку, а не как контур, а - терминал рисовал только контуры, поэтому каждое эмодзи выглядело пустым - местом; теперь они рисуются цветными, шириной в две ячейки. -- **Дерево файлов нативного окна показывает иконку языка каждого файла.** Каждый - файл рисовался одним и тем же обычным значком; теперь у каждого та иконка, - которую ему даёт веб-окно. -- **Pull request, который открывает агент, появляется на его карточке в конце хода.** - Значок перепроверялся только при смене ветки или её последнего коммита, а - открытие pull request не меняет ни то, ни другое, поэтому он ждал, пока окно - потеряет и вернёт фокус. -- **Нативное окно открывается на Windows.** Оно искало шрифты через fontconfig, - которого в Windows нет, поэтому закрывалось при запуске, и lich переходил на - веб-окно. Теперь на Windows оно само находит установленные шрифты, по умолчанию - Cascadia Mono или Consolas для терминала, и списки шрифтов в Настройках их - показывают. -- **Переключение между светлой и тёмной темой больше не зависает в нативном - окне.** Сессию, которая следует цветовой схеме терминала, как Claude Code, - уведомляли об изменении, пока окно ещё держало свои терминалы, поэтому окно - зависало и закрывалось. +- **Перезапущенная сессия больше не выглядит занятой навсегда.** Сессия, чей + агент умер посреди хода или которую закрыли посреди хода, возвращалась под той + же карточкой, по-прежнему числясь занятой для других сессий: отправленная ей + задача ждала хода, который никогда не закончится. Теперь она стартует без + состояния, как новая. +- **Codex, Cursor CLI, Antigravity и Crush перестали спрашивать там, где вы уже + ответили.** Сессия любого из них в песочнице открывается сразу на своём + промпте. Cursor CLI и Antigravity больше не спрашивают снова в worktree папки, + которой вы доверяли, а Antigravity ещё и в её подпапках, и Crush больше не + просит инициализировать каждый новый worktree. Сессия oh-my-pi в песочнице + больше не открывается на мастере настройки. +- **Claude Code перестал спрашивать «доверять этой папке?» там, где вы уже + ответили.** Папка, которой вы доверили в основном аккаунте, считается + доверенной во всех остальных профилях Claude Code со следующей сессии в них, а + сессия Claude Code в песочнице открывается вообще без вопроса. Сессия, + которую lich открыл за вас, больше не застревает на этом экране, где Enter + выходит. +- **Заново открытое нативное окно знает, куда ушла каждая сессия.** Сессия, + перешедшая с помощью `cd`, в tmux или по ssh, возвращалась с путём, веткой и + изменениями своего checkout до следующего `cd`; теперь окно при подключении + считывает, где каждая была в последний раз. +- **Нативное окно пишет промпты агентам на вашем языке промптов.** Передачи + pull request и issue и пакет комментариев ревью всегда вводились по-английски. +- **Смена темы во время переподключения больше не роняет нативное окно.** + Переключение темы или переключение системой светлой и тёмной, пока окно + заново подключалось к перезапущенному lich, могло нарисовать терминалы, + которые переподключение только что освободило, и уронить окно. +- **Китайский, японский и корейский текст больше не вешает нативное окно на + Linux.** Сессия, Ревью или pull request, полные CJK-текста, могли подвесить + окно на секунды, достаточно долго для «не отвечает», а масштабирование + возвращало зависание. +- **Нативное окно занимает меньше памяти.** Терминал каждой сессии и Ревью + загружали собственную копию запасных шрифтов, по десятку мегабайт и больше на + каждый CJK- или эмодзи-шрифт: шесть открытых сессий теперь занимают примерно + вдвое меньше памяти. На машине с установленными CJK-шрифтами оно ещё и + стартует быстрее. +- **Повторное открытие сессии, чей разговор уже открыт, переходит на эту + карточку.** Закрытая сессия из «Истории», отменённое закрытие или + существующий worktree могли вернуться второй карточкой на разговоре, который + другая карточка ещё вела, и обе писали в один транскрипт. «История» теперь + показывает такой разговор один раз, по последнему закрытию, а «Забыть» + удаляет все его копии. + diff --git a/changelog/zh-CN.md b/changelog/zh-CN.md index 08db663c..6646829f 100644 --- a/changelog/zh-CN.md +++ b/changelog/zh-CN.md @@ -1,17 +1,33 @@ -## [0.69.0] - 2026-10-16 +## [0.70.0] - 2026-10-17 ### Added -- **macOS 上的原生窗口(实验性)。** Lich.app 在 Apple Silicon 和 Intel 上随 lich 一同提供它,设置 › 外观 › 窗口与 Linux 和 Windows 上一样可以选择它。Option 键在其终端中用于输入字符,和 Terminal.app 一样,因此智能体的 Option+字母快捷键无法到达终端。目前它只在 GitHub 的 macOS 机器上运行过:通知是无法点击的普通通知,也没有菜单栏图标。 -- **文件树认识更多的文件类型。** Java、Gradle、C 和 C++、C#、PHP、Ruby、Swift、SQL、Vue、Svelte、Terraform、Dockerfile、.gitignore 以及约三十种其他类型,现在在文件树和搜索结果中都有各自的图标,此前它们显示的是普通文件图标。 +- **“新功能”对话框使用你的语言。** 更新后弹出的对话框会用你所选的界面语言显示发布说明及其分组名称,两个窗口都是如此。如果某个版本的说明尚无译文,则以英文显示。 +- **在原生窗口中分叉会话。** 右键点击卡片并选择 分叉 › 在此处,可在同一个检出中、紧挨着它的下方,用一张新卡片延续它的对话;选择 分叉 › Worktree…,则会连同你未提交的更改一起带到新的工作树。副本以原名命名(“auth-refactor 2”),并带有分叉标记。仅支持 Claude Code、Codex 和 opencode:其他提供商只能恢复。 +- **两张卡片运行同一段对话时,原生窗口会发出警告。** 在智能体自己的 TUI 中恢复一段已被另一张卡片打开的对话,会在右下角弹出警告;点击 切换 会关闭执行恢复的那张卡片,并切到原本打开该对话的卡片。 +- **原生窗口可以显示图片。** PNG、JPEG、GIF、WebP 或 BMP 会在文件标签页的预览中以棋盘格为底打开,并显示大小和尺寸;审查中发生更改的图片会并排显示更改前后的样子。PDF 或其他无法预览的文件不再报错,而是提供 用默认应用打开 和 在文件夹中显示;在拉取请求中,二进制文件会链接到它在 GitHub 上的页面。 +- **原生窗口支持你的语言。** 原生窗口的每个界面都可以用葡萄牙语、西班牙语和中文显示,设置 › 常规 中提供界面语言和提示词语言,与网页窗口在外观下的做法一致。在你选择之前,界面跟随系统语言。在没有中文字体的机器上选择中文时,会提示将 Noto Sans SC(约 25 MB)下载到 lich 自己的文件夹中。 +- **日语。** 两个窗口都支持日语,日语同时也是一种提示词语言,因此 lich 会用日语与你的智能体交流。只要安装了对应字体(Noto Sans CJK、Yu Gothic、Hiragino、Malgun Gothic 等),原生窗口就会让日语、中文和韩语各自使用所属地区的字体绘制,汉字不再呈现中文字形;若没有安装,则会提示下载 Noto Sans JP 或 KR,与中文下载 Noto Sans SC 的方式相同。README 也提供了日语版本。 +- **韩语。** 两个窗口都支持韩语,在网页窗口的 设置 › 外观 和原生窗口的 设置 › 常规 中选择;韩语同时也是一种提示词语言:简报、转发的消息和通知都会以韩语送达你的智能体。 +- **lich 会说俄语。** 在网页窗口的 设置 › 外观 或原生窗口的 设置 › 常规 中,可以选择 Русский 作为界面语言,也可以选作提示词语言,这样 lich 输入到智能体中的简报、转发说明和交接内容也都以俄语呈现。计数遵循俄语的 one、few 和 many 三种形式(1 файл、2 файла、5 файлов)。 +- **macOS 和 Windows 上的 opencode 配置文件,以及 Windows 上的 Cursor CLI 配置文件。** 原生窗口的 设置 › 提供商 会像在 Linux 上一样列出它们。macOS 上的 Cursor CLI,以及 macOS 和 Windows 上的 Kiro CLI 仍然没有:它们把登录信息保存在钥匙串中,或保存在任何设置都无法移动的文件夹里,因此每个配置文件都会共用同一个账户。 + +### Changed + +- **每次更新都会打开原生窗口。** 每个版本首次启动时,lich 会切换到原生窗口,无法启动时则回退到网页窗口;你在设置中切回后,lich 会一直停留在网页窗口,直到下一个版本。原生窗口首次打开时,会说明它是实验性的,并附上提交 bug 报告的链接。 +- **原生窗口中的状态环更细了。** 会话卡片图标外的圆环画得更细,与网页窗口的粗细一致。 +- **原生窗口中的快捷键按键更宽松。** 命令面板、快捷键叠层和 设置 › 快捷键 中的按键帽,文字周围留白更多,文字居中。 +- **原生窗口的设置默认打开全局。** 顶栏的齿轮始终打开 全局 设置,而不是你上次离开时所在的范围;项目的标签页仍可通过 项目设置… 打开它自己的设置。 +- **原生窗口中的命令面板更清爽。** 每个会话、项目和消息只占一行,路径跟在名称之后;工作树的路径显示最后三段。等待你处理的会话排在最前并有所标注,筛选标签页去掉了药丸样式,改用下划线。历史 中已关闭的会话在右侧显示分支和时长,只有搜索匹配到其对话时才多出第二行,并标出匹配的词。 ### Fixed -- **`lich quit` 会关闭原生窗口。** 后端退出后,窗口原本仍然开着,并显示 lich 已丢失;托盘中的退出和停止信号现在也会关闭它,而更新后的重启仍会保留它。 -- **最后一个会话关闭时,原生窗口会提示删除工作树。** 已关闭提示中,撤销旁边新增了删除工作树;对于不是 lich 创建的工作树,或带有未提交更改的工作树,删除前会在对话框中点明。 -- **原生窗口的终端会选中指针下方的单元格。** 点击、拖动选择、链接以及跟踪鼠标的程序,读取到的指针位置都偏移了终端的内边距,导致它们选中的单元格位于所指单元格的右下方,在缩放显示器上偏差接近一个单元格。 -- **原生窗口的终端会绘制 emoji。** Noto Color Emoji 等彩色 emoji 字体把每个 emoji 存为图片而非轮廓,而终端只会绘制轮廓,所以每个 emoji 都显示为空白;现在它们以彩色绘制,占两个单元格宽。 -- **原生窗口的文件树显示每个文件的语言图标。** 此前每个文件都画成同一个普通文件图标;现在每个文件都带有网页窗口为它提供的图标。 -- **智能体打开的拉取请求会在这一轮结束时显示在它的卡片上。** 徽章原本只在分支或其最新提交变化时才会重新检查,而打开拉取请求两者都不会变,所以它要等到窗口失去焦点再重新获得焦点后才出现。 -- **原生窗口可以在 Windows 上打开。** 它原本通过 fontconfig 查找字体,而 Windows 并不提供,因此启动时就关闭了,lich 随后回退到网页窗口。在 Windows 上,它现在自己查找已安装的字体,终端默认使用 Cascadia Mono 或 Consolas,设置中的字体选择器也会列出它们。 -- **在浅色和深色主题之间切换不再冻结原生窗口。** 像 Claude Code 那样跟随终端配色方案的会话,会在窗口仍持有其终端时收到变化通知,导致窗口卡死并关闭。 +- **重启的会话不再一直显示为忙碌。** 智能体在一轮中途死亡,或会话在一轮中途被关闭后,会话会回到同一张卡片上,但对其他会话仍显示为忙碌:发给它的任务会等待一个永远不会结束的轮次。现在它和新会话一样,以无状态启动。 +- **Codex、Cursor CLI、Antigravity 和 Crush 不再重复询问你已回答过的问题。** 其中任何一个的沙盒会话都会直接停在提示符处。Cursor CLI 和 Antigravity 不再在你信任过的文件夹的工作树中再次询问,Antigravity 在其子文件夹中也不再询问,Crush 也不再要求初始化每个新的工作树。沙盒中的 oh-my-pi 会话不再打开设置向导。 +- **Claude Code 不再在你已回答过的地方询问“信任此文件夹?”。** 你在主账户中信任过的文件夹,从下一次会话起在其他所有 Claude Code 配置文件中也被信任,沙盒中的 Claude Code 会话则完全不会出现这个问题。lich 为你打开的会话不再停留在那个界面上,在那里按 Enter 会退出。 +- **重新打开的原生窗口知道每个会话去了哪里。** 通过 `cd` 移动过,或进入了 tmux 或 ssh 的会话,回来时会一直显示它检出的路径、分支和更改,直到下一次 `cd`;现在窗口在连接时会读取每个会话最后所在的位置。 +- **原生窗口用你的提示词语言编写智能体提示词。** 拉取请求和 issue 的交接,以及一批审查评论,此前一直以英文输入。 +- **重连期间更改主题不再导致原生窗口崩溃。** 在窗口重新连接到已重启的 lich 时切换主题,或系统切换浅色和深色,可能会绘制重连刚刚释放的终端,并使窗口崩溃。 +- **中文、日文和韩文文本不再让 Linux 上的原生窗口卡死。** 满是 CJK 文本的会话、审查或拉取请求可能使窗口挂起数秒,长到出现“未响应”,缩放还会让卡死再次出现。 +- **原生窗口占用的内存更少。** 每个会话的终端和审查都加载了各自的回退字体副本,CJK 或 emoji 字体每份就有数十 MB:现在打开六个会话,内存占用约为原来的一半。在安装了 CJK 字体的机器上,启动也更快。 +- **重新打开对话已处于打开状态的会话时,会聚焦到那张卡片。** 从 历史 中打开已关闭的会话、撤销关闭或已有的工作树,可能会作为第二张卡片回到另一张卡片仍在运行的对话上,两者会写入同一份对话记录。历史 现在按最近一次关闭只列出这样的对话一次,忘记 会删除它的所有副本。