Nandemo Formatter

Changelog

Every published Header Relay release, generated from the repository's versioned CHANGELOG.md.

Release-note entries are shown in their original Japanese, which is the source language of the project changelog.

RSS →

Patch changes

  • Evita analisar o mesmo JSON várias vezes ao analisar e renderizar documentos estruturados.
  • Carrega configurações, análises e mensagens de controle do site de um runtime compartilhado com carregamento tardio. O runtime de cada formato analisa menos código antes de a interface aparecer.
  • Cria runtimes injetados para navegadores modernos sem converter a sintaxe que o Chromium já aceita.
  • Reconhece URLs .geojson como documentos JSON e agrupa módulos principais relacionados por domínio.
  • Centraliza extensões e tipos MIME repetidos para compartilhá-los entre o núcleo, a interface e o runtime da extensão.
  • Armazena o estado inicial de recolhimento da árvore JSON como uma profundidade e exceções explícitas.
  • Ignora as heurísticas do corpo quando o tipo MIME já identifica um formato compatível.
  • Carrega serializadores de formatos estruturados somente ao converter um documento. O runtime inicial do formatador fica menor.

Patch changes

  • Explica o objetivo do visualizador automático de documentos brutos em cada título localizado da Chrome Web Store.

Patch changes

  • Envia eventos de instalação, atualização e uso das funções principais após o consentimento. Eventos de anomalia de desempenho acima de 500ms usam um ID de uso único, sem depender do estado do consentimento.
  • Converte o Client ID enviado ao GA4 para o formato aceito pelo Measurement Protocol e ativa as estatísticas de uso em produção.

Patch changes

  • Mede o tamanho da imagem com os bytes da resposta original, e não com o valor após a recodificação. Evita processamento desnecessário de Canvas em imagens grandes.
  • Comprime os metadados de linhas virtuais de JSON grandes e corrige a regressão de memória ao manter documentos de 1 MiB.
  • Substitui React por Solid e reduz em 63% o JavaScript raw total dos runtimes injetados.

Patch changes

  • Centraliza a validação do remetente das mensagens da extensão e torna explícitos os modos de visualização do formatador, sem alterar o comportamento existente.
  • Remove seletores exclusivos de testes dos builds de produção e mantém seletores estáveis nos builds E2E.
  • Usa inglês nas visualizações do formatador injetado e mantém o popup e as opções localizados. O tamanho raw da extensão fica menor.
  • Simplifica o popup da barra de ferramentas. Ele mostra o estado da página, restaura origens desativadas e abre as configurações.

Minor changes

  • Adiciona um botão de download à barra de ferramentas. Ele salva o documento bruto, o JSON minificado ou uma conversão com o nome do documento e a extensão da visualização. Converter config.json para YAML salva config.yaml.
  • Virtualiza a árvore JSON aninhada para manter o DOM limitado durante a rolagem de documentos grandes.
  • Direciona o link de suporte para a página de suporte da extensão no site do produto. Em japonês, abre /ja/; nos outros idiomas, abre a página padrão. O link About inclui a versão da extensão e o agente do usuário.
  • Abre a página de configurações em uma nova aba a partir do rodapé do formatador.
  • Cria e armazena um Client ID UUIDv7 na instalação ou atualização, sem depender da escolha sobre estatísticas de uso. O consentimento controla apenas o envio. Recusar ou revogar mantém o mesmo ID local.

Minor changes

  • Adiciona temas do sistema, claro e escuro, uma visualização única do original, controles de formatação por origem e estatísticas de uso baseadas em consentimento. Também encerra mais cedo em páginas que não são formatadas e evita substituir páginas HTML cujas URLs contêm uma extensão compatível.

Minor changes

  • Primeira versão pública na Chrome Web Store.
  • Detecta links HTTP, HTTPS e mailto, e não apenas HTTPS. Nunca converte em links esquemas que contêm scripts ou conteúdo, como javascript:, data:, blob: e file:.
  • Renderiza Markdown em hosts com CSP estrita. Substitui o renderizador WASM, que não iniciava em raw.githubusercontent.com e hosts semelhantes, por um renderizador JavaScript puro. O bundle cai de 806 kB para 440 kB. A detecção de YAML também funciona quando o documento contém principalmente sequências. O botão de links fica disponível para todos os formatos estruturados.
  • Melhora a confiabilidade da detecção de formatos. Arquivos rc do shell que começam com KEY=value não são formatados como INI. TOML é reconhecido quando o cabeçalho da seção aparece depois das chaves de nível superior. Se a análise de um formato identificado apenas pelo corpo falhar, a página permanece inalterada em vez de mostrar um erro. JSON é detectado com qualquer tipo MIME que termine em +json, como application/problem+json e application/vnd.api+json.
  • Converte o documento atual para outro formato estruturado pela barra de ferramentas. Conversões impossíveis, como um array de nível superior para TOML, mostram um erro de análise em vez de falhar em silêncio.
  • Adiciona ao visualizador ações para expandir tudo e recolher tudo, filtro de busca por chaves e valores com destaque, cópia do caminho de cada nó (data.items[0].id) e erros de análise que indicam a linha afetada.
  • Reforça a detecção para não substituir páginas que não contêm dados estruturados.
    • Decide Markdown apenas pelo tipo MIME e pela extensão. Não usa o corpo porque renderMarkdown aceita qualquer texto.
    • Trata --- como marcador de documento YAML, e não como sinal de Markdown. YAML servido como text/plain também é formatado.
    • Exige que 70% das linhas não vazias pareçam mapeamentos YAML. Assim, logs, listas de cabeçalhos e texto iniciado por dois-pontos permanecem como Raw.
    • Não presume que um corpo maior que 5 MB seja JSON sem verificá-lo.
    • Renderiza literais de data de YAML e TOML como strings, e não como objetos vazios.
  • Adiciona um menu About ao rodapé. Ele abre para cima ao passar o ponteiro ou receber foco do teclado e contém links para a página inicial, a política de privacidade e o formulário de suporte.
  • Mantém o menu About aberto enquanto o ponteiro se move até ele.
  • Remove o botão Raw próprio do visualizador Markdown. A barra de ferramentas já oferece essa função.
  • Alinha as informações da loja ao comportamento real. A descrição lista JSON, YAML, TOML, INI, Markdown e imagens. A política de privacidade informa que apenas um valor booleano do botão de links é armazenado. A versão do manifesto segue package.json e não é mais fixa no código.