11 pontos por GN⁺ 2025-09-17 | Ainda não há comentários. | Compartilhar no WhatsApp
  • A ferramenta de gravação de terminal asciinema CLI 3.0 foi totalmente reescrita em Rust, adicionando upgrade no formato de arquivo e streaming ao vivo do terminal
  • Com a adoção de Rust, passa a oferecer binários estáticos, inicialização mais rápida e, com a integração do AVT, fica mais fácil lidar com concorrência e chamadas de sistema, além de estabelecer a base para novos recursos
  • O novo formato asciicast v3 introduz temporização baseada em intervalos (delta) entre eventos, estruturação dos metadados de term, evento de encerramento "x" e comentários de linha com #, aumentando a editabilidade e o poder de expressão
  • O streaming ao vivo do terminal é oferecido em dois modos: servidor local embutido e relay remoto (auto-hospedado/servidor oficial), com buffer adaptativo conforme as condições de rede para uma visualização mais fluida
  • A filosofia básica foi reorganizada como Local-first: rec agora exige nome de arquivo e separa o upload (upload <arquivo>), além de reforçar a afinidade com self-hosting e a prevenção contra vazamento acidental de dados por meio de um prompt para escolha do servidor próprio

Lançamento da versão 3.0: asciinema CLI reescrito em Rust e principais melhorias

  • O asciinema CLI 3.0 foi lançado oficialmente
  • Nesta versão, todo o código foi reescrito em Rust ao mesmo tempo em que o formato dos arquivos de gravação foi atualizado
  • Também foram adicionados e melhorados diversos recursos, como o streaming ao vivo de sessões de terminal

Reescrita em Rust e melhorias gerais

  • O CLI foi totalmente reescrito em Rust para melhorar a experiência do desenvolvedor e a manutenibilidade, com distribuição em binários estáticos, simplificação da instalação, inicialização mais rápida e base para expansão de funcionalidades
    • A escolha se baseou na experiência do autor de que chamadas de sistema e tratamento de concorrência são mais fáceis do que em Python, e a integração do asciinema virtual terminal (AVT) ao CLI permitiu implementar novos recursos
  • Como resultado, foram estabelecidas as bases para futuras adições de funcionalidades em termos de desempenho, distribuição e arquitetura

Formato de arquivo asciicast v3

  • O formato de arquivo evoluiu para o asciicast v3, corrigindo várias limitações reveladas no v2
  • Os timestamps absolutos do v2 foram substituídos por temporização baseada em intervalos (interval/delta), eliminando o problema de ajustar em lote os timestamps subsequentes ao inserir ou remover eventos
  • O cabeçalho foi reorganizado para agrupar os metadados relacionados ao terminal sob a chave term, e foi adicionado suporte ao evento de saída "x" (exit) para armazenar o estado de encerramento da sessão
  • Passou a permitir comentários de linha (#) dentro do arquivo, melhorando a legibilidade e a facilidade de manutenção
  • Um snippet de exemplo é fornecido para apresentar de forma intuitiva a estrutura e a composição do fluxo de eventos
  • O novo formato já é suportado pelo asciinema server e pelo asciinema player

Streaming ao vivo do terminal

  • Modo local: oferece um stream visível na mesma rede por meio de um servidor HTTP embutido, em um modo priorizando a privacidade no qual os dados são enviados apenas ao navegador dos espectadores
    • O CLI já vem com a versão mais recente do asciinema player embutida para reprodução imediata, embora possa ser necessário abrir portas no firewall
  • Modo remoto: usa o asciinema server (oficial ou auto-hospedado) como relay para distribuir o stream por meio de uma URL compartilhável
    • Os dois modos podem ser usados ao mesmo tempo, permitindo uma configuração de distribuição adequada a cada situação
  • O player equilibra baixa latência e prevenção de buffer underrun com buffer adaptativo baseado em medição em tempo real da latência da rede
  • O servidor oferece suporte a gravação automática do stream; no momento, o servidor operado em asciinema.org está com a gravação desativada e aplica a política de limite de 1 stream simultâneo
    • Em self-hosting, a gravação é ativada por padrão e não há limite de streams simultâneos

Retorno ao Local-first

  • No passado, asciinema rec incluía a ação de upload no fluxo padrão, o que trazia risco de publicação involuntária e vazamento de informações
    • Na versão 2.4, foi introduzido um prompt de escolha antes do upload como preparação para a mudança; no 3.0, passou a haver nome de arquivo obrigatório, remoção da função de upload de rec e separação em um comando explícito, upload <arquivo>
  • A filosofia central foi redefinida de forma clara como local-first, redesenhando o fluxo para que o usuário decida conscientemente quando publicar ou compartilhar
    • O uso exclusivamente local é totalmente suportado, e a publicação só acontece quando for explicitamente desejada

Reforço da afinidade com self-hosting

  • Ao usar upload/stream/auth pela primeira vez, é exibido um prompt para escolher a URL do servidor; o padrão sugerido é asciinema.org, mas a instância escolhida conforme a intenção do usuário é salva
    • Isso já podia ser definido por arquivo de configuração ou variável de ambiente, mas agora a configuração ficou mais fácil em ambientes interativos (nova VM, Dev container etc.)
  • Isso melhora a usabilidade para self-hosting e também funciona como uma camada extra de segurança para evitar uploads externos indesejados

Distribuição e orientações de uso

  • Pode levar algum tempo até que a atualização chegue aos repositórios de pacotes de cada distribuição
  • Enquanto isso, é possível baixar binários pré-compilados para GNU/Linux e macOS nas releases do GitHub ou compilar a partir do código-fonte
  • As notas da versão e o histórico detalhado de mudanças podem ser consultados nos documentos release notes e CHANGELOG no GitHub

Ainda não há comentários.

Ainda não há comentários.