diff --git a/CHANGELOG.md b/CHANGELOG.md index c39e74a4..f43215a3 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.71.0] - 2026-10-17 + ### Added - **Split layouts in the native window (experimental).** Put sessions from @@ -6160,7 +6162,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.70.0...HEAD +[Unreleased]: https://github.com/lichdotdev/lich/compare/v0.71.0...HEAD +[0.71.0]: https://github.com/lichdotdev/lich/compare/v0.70.0...v0.71.0 [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 diff --git a/changelog/es.md b/changelog/es.md index 0e8363e2..2b639c58 100644 --- a/changelog/es.md +++ b/changelog/es.md @@ -1,126 +1,48 @@ -## [0.70.0] - 2026-10-17 +## [0.71.0] - 2026-10-17 ### Added -- **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. +- **Diseños divididos en la ventana nativa (experimental).** Coloca lado a lado + sesiones de cualquier proyecto abierto y divídelas como quieras: + Ctrl+Shift+G divide la sesión enfocada hacia la derecha, Ctrl+Shift+I hacia + abajo, y cada una pregunta qué sesión va ahí; también puedes arrastrar una + tarjeta de la barra lateral al borde de un panel. Reorganiza un diseño + arrastrando un panel por su cabecera hasta el borde de otro panel, o hasta su + centro para intercambiar los dos, y alterna una pareja entre lado a lado y + apilada con Ctrl+Shift+R. Cada diseño es una pestaña después de los + proyectos, con el estado de sus paneles, y se renombra con doble clic; + arrastra el espacio entre dos paneles para redimensionarlos, amplía uno con + Ctrl+Shift+M, muévete entre ellos con Ctrl+Shift+F y saca uno con + Ctrl+Shift+W; un diseño que se queda en un solo panel se cierra. Si dejas + una sesión arrastrada sobre otra pestaña, esa pestaña se abre, como hace un + navegador con un archivo arrastrado. La barra lateral y el pie de ventana + siguen al panel enfocado. +- **Muestra al lado los delegados de una sesión.** En la ventana nativa, una + sesión que abrió otras, en cualquier proyecto, las ofrece en el pie de + ventana: Mostrar al lado la coloca con sus delegados apilados a su derecha, + todos los que quepan. En un diseño, la cabecera de su panel cuenta cuántos + hay y añade el resto, preguntando antes de sacar uno de otro diseño. Una + tarjeta en un diseño lo indica con su nombre. +- **Las comprobaciones obligatorias están etiquetadas.** En la ventana nativa, + la pestaña Comprobaciones de un pull request marca con Obligatorio las + comprobaciones que condicionan su merge, como hace GitHub. ### 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. +- **lich vive en `lichdotdev/lich`.** El repositorio se mudó a la organización + [lichdotdev](https://github.com/lichdotdev) y el sitio a + [lichdotdev.github.io/lich](https://lichdotdev.github.io/lich/). Los enlaces + antiguos de GitHub, los clones y las comprobaciones de actualización + redirigen; los marcadores del sitio antiguo no. ### Fixed -- **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. +- **Novedades sigue el idioma al que cambias.** En la ventana nativa, las notas + de la versión seguían en el idioma en que se leyeron por primera vez después + de cambiar el idioma de la interfaz, bajo nombres de grupo en el nuevo. +- **Los diffs ya no se quedan colgados con texto CJK ni acumulan memoria por + archivo.** En la ventana nativa, una Revisión o los Archivos de un pull + request con texto chino, japonés o coreano podían congelarse durante segundos + al buscar cada carácter nuevo, y el diff de cada archivo guardaba su propia + copia de las fuentes, de modo que un pull request grande ocupaba cientos de + megabytes. diff --git a/changelog/ja.md b/changelog/ja.md index f97d5bb6..317aa12c 100644 --- a/changelog/ja.md +++ b/changelog/ja.md @@ -1,33 +1,16 @@ -## [0.70.0] - 2026-10-17 +## [0.71.0] - 2026-10-17 ### Added -- **「新機能」があなたの言語で表示されます。** アップデート後に開くダイアログが、リリースノートとそのグループ名を、選択したインターフェースの言語で表示します。両方のウィンドウで対応しています。リリースノートの翻訳がまだないビルドでは、英語で表示されます。 -- **ネイティブウィンドウでセッションをフォークできます。** カードを右クリックして「フォーク › ここで」を選ぶと、同じチェックアウトのまま、そのすぐ下の新しいカードで会話を続けられます。「フォーク › ワークツリー…」を選ぶと、未コミットの変更ごと新しいワークツリーに移せます。コピーには元の名前が付き(「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 つのアカウントを共有することになります。 +- **ネイティブウィンドウの分割レイアウト(試験的機能)。** 開いている任意のプロジェクトのセッションを並べて、好きなように分割できます。Ctrl+Shift+G でフォーカス中のセッションを右に、Ctrl+Shift+I で下に分割し、どちらもそこに置くセッションを尋ねます。サイドバーのカードをペインの端にドラッグしても配置できます。レイアウトを組み替えるには、ペインのヘッダーを別のペインの端へドラッグします。真ん中へドラッグすると 2 つが入れ替わります。Ctrl+Shift+R で、並んだ 2 つのペインの横並びと縦積みを切り替えられます。レイアウトはそれぞれプロジェクトの後ろのタブになり、各ペインの状態が表示され、ダブルクリックで名前を変更できます。2 つのペインの間をドラッグするとサイズを変えられ、Ctrl+Shift+M で 1 つを拡大し、Ctrl+Shift+F でペイン間を移動し、Ctrl+Shift+W で 1 つを外せます。ペインが 1 つだけになったレイアウトは閉じます。ドラッグ中のセッションを別のタブの上に置いたままにすると、ブラウザーでファイルをドラッグしたときのように、そのタブが前面に出ます。サイドバーとフッターは、フォーカス中のペインに追従します。 +- **セッションの委任先を横に表示できます。** ネイティブウィンドウで、任意のプロジェクトで他のセッションを開いたセッションは、フッターにそれらを表示するボタンを出します。「横に表示」を押すと、そのセッションの右側に、入る限りの委任先を縦に積んで配置します。レイアウト内では、ペインのヘッダーに委任先がいくつ並んでいるかが表示され、残りを追加できます。別のレイアウトから外すことになる場合は、先に確認します。レイアウト内のカードには、そのレイアウトの名前が表示されます。 +- **必須のチェックにラベルが付きます。** ネイティブウィンドウで、プルリクエストの「チェック」タブが、マージの条件になっているチェックを、GitHub と同じように「必須」で示します。 ### Changed -- **アップデートのたびにネイティブウィンドウが開きます。** 各リリースの初回起動で lich はネイティブウィンドウに切り替わり、起動できない場合はウェブウィンドウにフォールバックします。設定で切り替え直すと、次のリリースまで lich はウェブウィンドウのままです。ネイティブウィンドウが初めて開くときは、実験的であることを知らせ、バグ報告へのリンクを表示します。 -- **ネイティブウィンドウのステータスリングが細くなりました。** セッションカードのアイコンを囲むリングがより細く描画され、ウェブウィンドウと同じ太さで表示されます。 -- **ネイティブウィンドウのショートカットキーの余白が広くなりました。** コマンドパレット、ショートカットの一覧、設定 › ショートカットのキーキャップは、文字の周りの余白が広くなり、文字は中央に配置されます。 -- **ネイティブウィンドウの設定は「グローバル」で開きます。** 上部バーの歯車は、最後に開いていたスコープではなく、常に「グローバル」で設定を開きます。プロジェクトのタブから「プロジェクト設定…」を選ぶと、引き続きそのプロジェクトの設定が開きます。 -- **ネイティブウィンドウのコマンドパレットがすっきりしました。** セッション、プロジェクト、メッセージは 1 行で表示され、名前の後にパスが付きます。ワークツリーのパスは最後の 3 つの要素を表示します。あなたの応答を待っているセッションが先頭に並び、その旨が表示されます。フィルタータブはピルをやめて下線になりました。履歴の閉じたセッションは、右側にブランチと経過時間を表示し、検索が会話に一致したときだけ 2 行目を追加して、該当する語を強調します。 +- **lich のリポジトリは `lichdotdev/lich` になりました。** リポジトリは [lichdotdev](https://github.com/lichdotdev) organization に、サイトは [lichdotdev.github.io/lich](https://lichdotdev.github.io/lich/) に移りました。古い GitHub のリンク、クローン、アップデートの確認はリダイレクトされます。古いサイトのブックマークはリダイレクトされません。 ### Fixed -- **再起動したセッションが、ずっと処理中のままに見えなくなりました。** ターンの途中でエージェントが終了したセッションや、ターンの途中で閉じられたセッションは、同じカードのまま戻ってきても、ほかのセッションからは処理中と表示されていました。そのセッションに送ったタスクは、終わることのないターンを待ち続けていました。現在は新しいセッションと同じく、状態のない状態で開始します。 -- **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 件表示され、「履歴から削除」はそのすべてのコピーを削除します。 +- **「新機能」が、切り替えた言語に追従します。** ネイティブウィンドウで、インターフェースの言語を変更したあとも、リリースノートが最初に読んだときの言語のまま表示され、グループ名だけが新しい言語になっていました。 +- **差分が CJK のテキストで固まらなくなり、ファイルごとにメモリが増えなくなりました。** ネイティブウィンドウで、中国語・日本語・韓国語のテキストを含む「レビュー」やプルリクエストの「ファイル」は、新しい文字を引くたびに数秒フリーズすることがありました。また、各ファイルの差分がフォントの独自のコピーを保持していたため、大きなプルリクエストでは数百メガバイトを占有していました。 diff --git a/changelog/ko.md b/changelog/ko.md index 023d56bb..75f1039d 100644 --- a/changelog/ko.md +++ b/changelog/ko.md @@ -1,92 +1,37 @@ -## [0.70.0] - 2026-10-17 +## [0.71.0] - 2026-10-17 ### Added -- **새로운 기능 안내가 사용자의 언어로 표시됩니다.** 업데이트 후 열리는 대화상자가 릴리스 노트와 - 그 그룹 이름을 선택한 인터페이스 언어로, 두 창 모두에서 보여 줍니다. 아직 번역이 없는 빌드의 - 노트는 영어로 표시됩니다. -- **네이티브 창에서 세션을 포크할 수 있습니다.** 카드를 오른쪽 클릭해 포크 › 여기서를 고르면 - 같은 체크아웃의 바로 아래 새 카드에서 대화를 이어 가고, 포크 › 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에는 아직 없습니다. 이들은 로그인 정보를 키체인이나 어떤 설정으로도 옮길 수 없는 폴더에 - 보관하므로, 프로필을 만들어도 모두 하나의 계정을 공유하게 됩니다. +- **네이티브 창의 분할 레이아웃(실험적).** 열려 있는 어느 프로젝트의 세션이든 나란히 놓고 원하는 대로 + 분할할 수 있습니다. Ctrl+Shift+G는 포커스된 세션을 오른쪽으로, Ctrl+Shift+I는 아래로 분할하며 + 각각 그 자리에 놓을 세션을 묻습니다. 사이드바의 카드를 창 가장자리로 끌어다 놓아도 됩니다. + 레이아웃을 재배치하려면 창 헤더를 끌어 다른 창의 가장자리에 놓거나, 가운데에 놓아 두 창을 서로 + 바꾸세요. Ctrl+Shift+R은 한 쌍을 나란히 배치와 위아래 배치 사이에서 전환합니다. 모든 레이아웃은 + 프로젝트 뒤에 탭으로 나타나 각 창의 상태를 보여 주며, 더블 클릭해서 이름을 바꿉니다. 두 창 사이의 + 경계를 끌어 크기를 조절하고, Ctrl+Shift+M으로 하나를 확대하고, Ctrl+Shift+F로 창 사이를 이동하고, + Ctrl+Shift+W로 하나를 빼냅니다. 창이 하나만 남은 레이아웃은 닫힙니다. 끌고 있는 세션을 다른 탭 + 위에 잠시 두면 브라우저가 끌고 있는 파일에 하는 것처럼 그 탭이 열립니다. 사이드바와 푸터는 포커스된 + 창을 따라갑니다. +- **세션의 위임을 옆에 표시합니다.** 네이티브 창에서 다른 세션을 연 세션은, 어느 프로젝트의 + 것이든, 푸터에서 그 세션들을 보여 줍니다. 옆에 보기를 누르면 그 세션을 왼쪽에 두고 위임들을 오른쪽에 + 쌓아, 들어가는 만큼 배치합니다. 레이아웃 안에서는 창 헤더가 그곳에 있는 위임의 수를 세고 나머지를 + 추가하며, 다른 레이아웃에 있는 것을 빼 오기 전에 먼저 묻습니다. 레이아웃 안의 카드에는 그 이름이 + 표시됩니다. +- **필수 체크가 표시됩니다.** 네이티브 창에서 풀 리퀘스트의 체크 탭은 GitHub처럼, 병합을 가로막는 + 체크에 필수 표시를 붙입니다. ### Changed -- **업데이트할 때마다 네이티브 창이 열립니다.** 각 릴리스의 첫 실행은 lich를 네이티브 창으로 - 전환하며, 시작할 수 없으면 웹 창으로 대체합니다. 설정에서 다시 전환하면 다음 릴리스까지 lich는 - 웹 창에 머뭅니다. 네이티브 창이 처음 열릴 때는 실험 단계라는 안내와 버그 신고 링크가 표시됩니다. -- **네이티브 창의 상태 링이 더 가벼워졌습니다.** 세션 카드 아이콘 둘레의 링이 더 가늘게 그려져, - 웹 창과 같은 굵기로 보입니다. - -- **네이티브 창의 단축키 키캡이 더 넉넉해졌습니다.** 명령 팔레트, 단축키 오버레이, 설정 › 단축키의 - 키캡에서 글자 둘레의 여백이 늘었고 글자는 가운데에 놓입니다. - -- **네이티브 창의 설정이 전역에서 열립니다.** 상단 바의 톱니바퀴는 마지막으로 보던 범위 대신 항상 - 설정을 전역에서 열며, 프로젝트 탭은 여전히 프로젝트 설정…에서 해당 프로젝트의 설정을 엽니다. - -- **네이티브 창의 명령 팔레트가 더 차분해졌습니다.** 세션, 프로젝트, 메시지는 각각 한 줄을 - 차지하고 이름 뒤에 경로가 붙으며, worktree의 경로는 마지막 세 부분을 보여 줍니다. 사용자를 - 기다리는 세션이 먼저 나오고 그렇게 표시되며, 필터 탭은 알약 모양 대신 밑줄로 바뀝니다. 기록의 - 닫힌 세션은 오른쪽에 브랜치와 경과 시간을 보여 주고, 검색어가 대화와 일치했을 때만 단어를 강조해 - 둘째 줄을 보여 줍니다. +- **lich는 `lichdotdev/lich`에 있습니다.** 저장소는 [lichdotdev](https://github.com/lichdotdev) + 조직으로, 사이트는 [lichdotdev.github.io/lich](https://lichdotdev.github.io/lich/)로 + 옮겨졌습니다. 예전 GitHub 링크, 클론, 업데이트 확인은 리다이렉트되지만, 예전 사이트의 북마크는 + 그렇지 않습니다. ### Fixed -- **재시작된 세션이 더 이상 영원히 바쁜 것으로 표시되지 않습니다.** 턴 도중 에이전트가 죽었거나 턴 - 도중 닫힌 세션이 같은 카드로 돌아왔을 때 다른 세션에는 여전히 바쁜 것으로 나타나, 그 세션에 보낸 - 작업이 끝나지 않을 턴을 기다렸습니다. 이제 새 세션처럼 상태 없이 시작합니다. -- **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가 CJK 텍스트에서 멈추거나 파일마다 메모리가 쌓이는 문제를 고쳤습니다.** 네이티브 창에서 + 중국어, 일본어, 한국어 텍스트가 있는 리뷰나 풀 리퀘스트의 파일은 새 문자를 찾을 때마다 몇 초씩 + 멈출 수 있었고, 모든 파일의 diff가 글꼴 사본을 따로 가지고 있어 큰 풀 리퀘스트는 수백 메가바이트를 + 차지했습니다. diff --git a/changelog/pt-BR.md b/changelog/pt-BR.md index 2a2a1a63..e5a996e7 100644 --- a/changelog/pt-BR.md +++ b/changelog/pt-BR.md @@ -1,124 +1,47 @@ -## [0.70.0] - 2026-10-17 +## [0.71.0] - 2026-10-17 ### Added -- **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. +- **Layouts divididos na janela nativa (experimental).** Coloque sessões de + qualquer projeto aberto lado a lado e divida-as como quiser: Ctrl+Shift+G + divide a sessão em foco para a direita, Ctrl+Shift+I para baixo, e cada um + pergunta qual sessão vai ali; ou arraste um card da barra lateral até a borda + de um painel. Reorganize um layout arrastando um painel pelo cabeçalho até a + borda de outro painel, ou até o meio dele para trocar os dois de lugar, e + alterne um par entre lado a lado e empilhado com Ctrl+Shift+R. Cada layout é + uma aba depois dos projetos, com o status dos seus painéis, e é renomeado com + um clique duplo; arraste o vão entre dois painéis para redimensioná-los, + amplie um com Ctrl+Shift+M, alterne entre eles com Ctrl+Shift+F e tire um do + layout com Ctrl+Shift+W; um layout reduzido a um painel é fechado. Deixe uma + sessão arrastada sobre outra aba e essa aba abre, como um navegador faz com um + arquivo arrastado. A barra lateral e o rodapé acompanham o painel em foco. +- **Mostre os delegados de uma sessão ao lado dela.** Na janela nativa, uma + sessão que abriu outras, em qualquer projeto, oferece essas sessões no + rodapé: Mostrar ao lado organiza a sessão com os delegados empilhados à + direita, quantos couberem. Em um layout, o cabeçalho do painel conta quantos + estão ali e adiciona os restantes, perguntando antes de tirar algum de outro + layout. Um card em um layout o indica pelo nome. +- **Verificações obrigatórias têm rótulo.** Na janela nativa, a aba + Verificações de um pull request marca com Obrigatório as verificações que + condicionam o merge, como faz o GitHub. ### 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. - -- **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. +- **O lich agora fica em `lichdotdev/lich`.** O repositório foi movido para a + organização [lichdotdev](https://github.com/lichdotdev) e o site para + [lichdotdev.github.io/lich](https://lichdotdev.github.io/lich/). Links + antigos do GitHub, clones e verificações de atualização são redirecionados; + favoritos do site antigo não. ### 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. +- **Novidades acompanha o idioma para o qual você troca.** Na janela nativa, as + notas da versão continuavam no idioma em que foram lidas pela primeira vez + depois que você mudava o idioma da interface, sob nomes de grupo no idioma + novo. +- **Diffs não travam mais com texto CJK nem acumulam memória por arquivo.** Na + janela nativa, uma Revisão ou os Arquivos de um pull request com texto em + chinês, japonês ou coreano podia congelar por segundos enquanto cada + caractere novo era buscado, e o diff de cada arquivo mantinha a sua própria + cópia das fontes, de modo que um pull request grande ocupava centenas de + megabytes. diff --git a/changelog/ru.md b/changelog/ru.md index 125f32b7..2fba3e03 100644 --- a/changelog/ru.md +++ b/changelog/ru.md @@ -1,124 +1,47 @@ -## [0.70.0] - 2026-10-17 +## [0.71.0] - 2026-10-17 ### Added -- **«Что нового» на вашем языке.** Диалог, который открывается после обновления, - показывает примечания к релизу и названия их групп на выбранном вами языке - интерфейса, в обоих окнах. Если у сборки ещё нет перевода примечаний, они - показываются на английском. -- **Форк сессии в нативном окне.** Щёлкните карточку правой кнопкой и выберите - Форк › Здесь, чтобы продолжить её разговор в новой карточке прямо под ней, в том - же 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 или в папке, которую никакая настройка не - переносит, поэтому все профили делили бы один аккаунт. +- **Раскладки с разделением в нативном окне (экспериментально).** Размещайте + рядом сессии из любых открытых проектов и делите окно как угодно: + Ctrl+Shift+G делит сессию в фокусе вправо, Ctrl+Shift+I — вниз, и каждый раз + спрашивает, какая сессия встанет рядом; либо перетащите карточку из боковой + панели на край панели. Перестраивайте раскладку, перетаскивая панель за + заголовок на край другой панели, а на её середину — чтобы поменять две + панели местами, и переключайте пару между «рядом» и «друг над другом» по + Ctrl+Shift+R. Каждая раскладка — вкладка после проектов, со статусом её + панелей; переименовать её можно двойным щелчком. Тяните промежуток между + двумя панелями, чтобы изменить их размер, разворачивайте одну по + Ctrl+Shift+M, переходите между ними по Ctrl+Shift+F и убирайте одну по + Ctrl+Shift+W; раскладка, в которой осталась одна панель, закрывается. + Задержите перетаскиваемую сессию над другой вкладкой, и она откроется, как + в браузере при перетаскивании файла. Боковая панель и футер следуют за + панелью в фокусе. +- **Показать делегатов сессии рядом с ней.** В нативном окне сессия, которая + открыла другие, в любом проекте, предлагает их в футере: Показать рядом + раскладывает её с делегатами, сложенными стопкой справа от неё, сколько + поместится. В раскладке заголовок её панели показывает, сколько их здесь, и + добавляет остальных, предварительно спрашивая, прежде чем забрать + делегата из другой раскладки. Карточка в раскладке называет её. +- **Обязательные проверки помечены.** В нативном окне на вкладке «Проверки» + pull request проверки, от которых зависит слияние, помечены как + «Обязательный», как это делает GitHub. ### Changed -- **Каждое обновление открывает нативное окно.** Первый запуск каждого - релиза переключает lich на нативное окно, а если оно не запускается, на - веб-окно; переключитесь обратно в Настройках, и lich останется на веб-окне до - следующего релиза. При первом открытии нативное окно сообщает, что оно - экспериментальное, и даёт ссылку на отчёт об ошибке. - -- **Более тонкое кольцо статуса в нативном окне.** Кольцо вокруг иконки - карточки сессии теперь тоньше, чтобы выглядеть так же, как в веб-окне. - -- **Более просторные клавиши сочетаний в нативном окне.** У клавиш в палитре - команд, окне сочетаний и Настройки › Сочетания клавиш больше места вокруг - текста, который теперь выровнен по центру. - -- **Настройки в нативном окне открываются на «Глобальные».** Шестерёнка в - верхней панели всегда открывает Настройки на «Глобальные», а не на области, в - которой вы их оставили; вкладка проекта по-прежнему открывает его - собственные настройки через «Настройки проекта…». - -- **Более спокойная палитра команд в нативном окне.** Каждая сессия, проект и - сообщение занимают одну строку, а путь стоит после названия; у worktree в - пути видны три последние части. Сессии, ожидающие вас, идут первыми и - помечены, а у вкладок-фильтров вместо плашек теперь подчёркивание. Закрытая - сессия в «Истории» показывает справа ветку и возраст, а вторую строку только - если поиск совпал с её разговором, с выделенными словами. +- **lich теперь живёт в `lichdotdev/lich`.** Репозиторий переехал в организацию + [lichdotdev](https://github.com/lichdotdev), а сайт — на + [lichdotdev.github.io/lich](https://lichdotdev.github.io/lich/). Старые + ссылки GitHub, клоны и проверки обновлений перенаправляются; закладки на + старый сайт — нет. ### Fixed -- **Перезапущенная сессия больше не выглядит занятой навсегда.** Сессия, чей - агент умер посреди хода или которую закрыли посреди хода, возвращалась под той - же карточкой, по-прежнему числясь занятой для других сессий: отправленная ей - задача ждала хода, который никогда не закончится. Теперь она стартует без - состояния, как новая. -- **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 могли вернуться второй карточкой на разговоре, который - другая карточка ещё вела, и обе писали в один транскрипт. «История» теперь - показывает такой разговор один раз, по последнему закрытию, а «Забыть» - удаляет все его копии. - +- **«Что нового» следует за языком, на который вы переключились.** В нативном + окне после смены языка интерфейса примечания к релизу оставались на языке, на + котором их впервые прочли, под названиями групп на новом языке. +- **Диффы больше не зависают на CJK-тексте и не копят память на каждый файл.** + В нативном окне «Ревью» или «Файлы» pull request с китайским, японским или + корейским текстом могли замирать на секунды из-за поиска каждого нового + символа, а diff каждого файла держал собственную копию шрифтов, из-за чего + большой pull request занимал сотни мегабайт. diff --git a/changelog/zh-CN.md b/changelog/zh-CN.md index 6646829f..8355856f 100644 --- a/changelog/zh-CN.md +++ b/changelog/zh-CN.md @@ -1,33 +1,16 @@ -## [0.70.0] - 2026-10-17 +## [0.71.0] - 2026-10-17 ### Added -- **“新功能”对话框使用你的语言。** 更新后弹出的对话框会用你所选的界面语言显示发布说明及其分组名称,两个窗口都是如此。如果某个版本的说明尚无译文,则以英文显示。 -- **在原生窗口中分叉会话。** 右键点击卡片并选择 分叉 › 在此处,可在同一个检出中、紧挨着它的下方,用一张新卡片延续它的对话;选择 分叉 › 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 仍然没有:它们把登录信息保存在钥匙串中,或保存在任何设置都无法移动的文件夹里,因此每个配置文件都会共用同一个账户。 +- **原生窗口中的分屏布局(实验性)。** 可以把任意已打开项目的会话并排放在一起,并按需要自由分割:Ctrl+Shift+G 把当前聚焦的会话向右分割,Ctrl+Shift+I 向下分割,两者都会询问放入哪个会话;也可以把侧边栏中的卡片拖到某个窗格的边缘。要调整布局,可以拖动窗格标题到另一个窗格的边缘,或拖到其中间以交换两者,并用 Ctrl+Shift+R 在并排和上下堆叠之间切换一对窗格。每个布局都是项目之后的一个标签页,显示其各窗格的状态,双击即可重命名;拖动两个窗格之间的间隙可调整大小,用 Ctrl+Shift+M 放大一个窗格,用 Ctrl+Shift+F 在窗格之间切换,用 Ctrl+Shift+W 移出一个窗格;只剩一个窗格的布局会关闭。把拖动中的会话停在另一个标签页上,该标签页就会弹出,就像浏览器拖动文件时那样。侧边栏和页脚会跟随当前聚焦的窗格。 +- **把会话的委派并排显示。** 在原生窗口中,如果一个会话打开了其他会话(不论属于哪个项目),页脚会提供这些会话:并排显示 会把它与其委派一起排布,委派堆叠在它的右侧,能放多少放多少。在布局中,其窗格标题会显示有多少个委派在场,并可添加其余的;若要把某个委派从另一个布局中移出,会先询问。布局中的卡片会标明所在布局。 +- **必需的检查会被标出。** 在原生窗口中,拉取请求的 检查 标签页会像 GitHub 一样,用 必需 标出那些控制其合并的检查。 ### Changed -- **每次更新都会打开原生窗口。** 每个版本首次启动时,lich 会切换到原生窗口,无法启动时则回退到网页窗口;你在设置中切回后,lich 会一直停留在网页窗口,直到下一个版本。原生窗口首次打开时,会说明它是实验性的,并附上提交 bug 报告的链接。 -- **原生窗口中的状态环更细了。** 会话卡片图标外的圆环画得更细,与网页窗口的粗细一致。 -- **原生窗口中的快捷键按键更宽松。** 命令面板、快捷键叠层和 设置 › 快捷键 中的按键帽,文字周围留白更多,文字居中。 -- **原生窗口的设置默认打开全局。** 顶栏的齿轮始终打开 全局 设置,而不是你上次离开时所在的范围;项目的标签页仍可通过 项目设置… 打开它自己的设置。 -- **原生窗口中的命令面板更清爽。** 每个会话、项目和消息只占一行,路径跟在名称之后;工作树的路径显示最后三段。等待你处理的会话排在最前并有所标注,筛选标签页去掉了药丸样式,改用下划线。历史 中已关闭的会话在右侧显示分支和时长,只有搜索匹配到其对话时才多出第二行,并标出匹配的词。 +- **lich 迁到 `lichdotdev/lich`。** 仓库已迁至 [lichdotdev](https://github.com/lichdotdev) 组织,网站迁至 [lichdotdev.github.io/lich](https://lichdotdev.github.io/lich/)。旧的 GitHub 链接、克隆和更新检查都会重定向;旧网站的书签则不会。 ### Fixed -- **重启的会话不再一直显示为忙碌。** 智能体在一轮中途死亡,或会话在一轮中途被关闭后,会话会回到同一张卡片上,但对其他会话仍显示为忙碌:发给它的任务会等待一个永远不会结束的轮次。现在它和新会话一样,以无状态启动。 -- **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 字体的机器上,启动也更快。 -- **重新打开对话已处于打开状态的会话时,会聚焦到那张卡片。** 从 历史 中打开已关闭的会话、撤销关闭或已有的工作树,可能会作为第二张卡片回到另一张卡片仍在运行的对话上,两者会写入同一份对话记录。历史 现在按最近一次关闭只列出这样的对话一次,忘记 会删除它的所有副本。 +- **“新功能”会跟随你切换的语言。** 在原生窗口中,更改界面语言后,发布说明仍停留在最初阅读时的语言,只有分组名称变成了新语言。 +- **差异视图不再因中日韩文本而卡顿,也不再为每个文件堆积内存。** 在原生窗口中,包含中文、日文或韩文的 审查 或拉取请求的 文件,会因为每个新字符都要查找字体而可能卡住数秒;而且每个文件的差异都各自保留一份字体副本,因此大型拉取请求会占用数百兆内存。