A equipe do fish shell anunciou a disponibilização da versão 4.8.0, publicada em 24 de junho de 2024. O release inclui 234 commits desde a 4.7.1, com a participação de 39 autores, 21 deles novos contribuidores. A atualização traz melhorias de internacionalização, correções de bugs interativos e aprimoramentos de scripting.
Principais melhorias e correções
-
Internacionalização com Fluent
Mensagens definidas em código Rust podem ser traduzidas usando o sistema Fluent ao invés do tradicional GNU gettext. Ferramentas baseadas na bibliotecafluent-ftl-toolsforam adicionadas para facilitar a contribuição de traduções (Contributing Translations #11928). -
Depreciações
As opções--commande--pathdo builtincompletedeixaram de “unescape” seus argumentos. -
Aprimoramentos interativos
- Corrigido o problema em que a busca no histórico esquecia comandos executados em sessões concorrentes (#10300).
- Prompts de VCS (
fish_hg_prompt,fish_git_prompt,fish_fossil_prompt) agora removem caracteres de controle, alinhando-se ao comportamento deprompt_pwd. - Abreviações com
--position=anywherepodem ser completadas em posições de argumento, não apenas no início do comando (#12630). - Movimentação de componentes de caminho (
Ctrl‑W) ignora caracteres escapados. - Completação de grupos de opções curtas lida corretamente com a condição
--condition(#12821). Ctrl‑Cagora cancela funções de forma confiável (#12802).
-
Melhorias de scripting
cdpassa a aceitar as opções-Le-P, permitindo controlar a resolução de links simbólicos como em outras shells (#7206).- Quando
$PWDfoi movido,cdcom caminho relativo tenta novamente usando o diretório real atual (#12700). - Expansões de chaves aninhadas removem espaços iniciais e finais não citados de forma consistente (#12794).
- O comando
bindexibe agora os arquivos onde as ligações foram definidas (#12504).
-
Outras mudanças
- A variável universal
__fish_initializednão é mais criada automaticamente. Usuários que não pretendem fazer downgrade podem removê‑la comset --erase __fish_initialized. - Ajustes na instalação: exceto pelo diretório
share/fish/man, o fish deixou de instalar arquivos em$CMAKE_INSTALL_PREFIX/share/fish. Diretórios comocompletionsefunctionsforam descontinuados desde a 4.2. Pacotes externos devem usar os diretóriosvendor_completions.d,vendor_functions.douvendor_conf.dconforme a documentação.
- A variável universal
Correções de regressão
- Modo Vi: tecla
c,Wnão exclui mais espaços finais indevidamente (#12790). - Modo Vi: comando
xdentro dereadfunciona corretamente (#12724). - Versões 4.3.x: múltiplos tabs não inserem mais completions redundantes em smartcase.
- Versões 4.3.0: pressionar
Escdurante a execução de um comando não gera mais texto corrompido na linha de comando (#12379).
Agradecimentos à comunidade
A release reconhece 21 novos contribuidores, entre eles Clément Bœsch, Deepak Kudi, Hans Larsen e Sean Reifschneider, além de agradecer aos colaboradores recorrentes como Johannes Altmanninger, David Adam e PowerUser64.
Disponibilidade dos pacotes
- Código-fonte: recomenda‑se o download do arquivo
fish-4.8.0.tar.xz. O pacotetar.gznão compila corretamente. A assinatura GPG está disponível comofish-4.8.0.tar.xz.asc. - Binários Linux: arquivos
fish-4.8.0-linux-*.tar.xzcontêm versões standalone para diferentes arquiteturas CPU. - macOS: pacotes serão disponibilizados em breve.
Para mais detalhes, acesse a página oficial de lançamento: https://github.com/fish-shell/fish-shell/releases/tag/4.8.0.