Pular para o conteúdo
fish 4.8.0: nova versão traz melhorias de tradução, script e desempenho

fish 4.8.0: nova versão traz melhorias de tradução, script e desempenho

Confira as novidades do fish 4.8.0, incluindo suporte a Fluent, correções de histórico, melhorias no cd e remoção de variáveis universais.

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 biblioteca fluent-ftl-tools foram adicionadas para facilitar a contribuição de traduções (Contributing Translations #11928).

  • Depreciações
    As opções --command e --path do builtin complete deixaram 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 de prompt_pwd.
    • Abreviações com --position=anywhere podem 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‑C agora cancela funções de forma confiável (#12802).
  • Melhorias de scripting

    • cd passa a aceitar as opções -L e -P, permitindo controlar a resolução de links simbólicos como em outras shells (#7206).
    • Quando $PWD foi movido, cd com 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 bind exibe agora os arquivos onde as ligações foram definidas (#12504).
  • Outras mudanças

    • A variável universal __fish_initialized não é mais criada automaticamente. Usuários que não pretendem fazer downgrade podem removê‑la com set --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 como completions e functions foram descontinuados desde a 4.2. Pacotes externos devem usar os diretórios vendor_completions.d, vendor_functions.d ou vendor_conf.d conforme a documentação.

Correções de regressão

  • Modo Vi: tecla c,W não exclui mais espaços finais indevidamente (#12790).
  • Modo Vi: comando x dentro de read funciona corretamente (#12724).
  • Versões 4.3.x: múltiplos tabs não inserem mais completions redundantes em smartcase.
  • Versões 4.3.0: pressionar Esc durante 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 pacote tar.gz não compila corretamente. A assinatura GPG está disponível como fish-4.8.0.tar.xz.asc.
  • Binários Linux: arquivos fish-4.8.0-linux-*.tar.xz contê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.

Via github.com. Você pode conferir o post original em inglês:

fish 4.8.0

Por · Última atualização: