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

  • Évite d'analyser plusieurs fois le même JSON pendant l'analyse et l'affichage des documents structurés.
  • Charge les paramètres, les analyses et les messages de contrôle du site depuis un runtime partagé à chargement différé. Le runtime de chaque format analyse moins de code avant l'affichage de l'interface.
  • Construit les runtimes injectés pour les navigateurs modernes sans convertir la syntaxe déjà prise en charge par Chromium.
  • Reconnaît les URL .geojson comme des documents JSON et regroupe les modules principaux associés par domaine.
  • Centralise les extensions et les types MIME répétés afin de les partager entre le noyau, l'interface et le runtime de l'extension.
  • Enregistre l'état initial de l'arbre JSON avec une profondeur et des exceptions explicites.
  • Ignore les heuristiques du corps lorsque le type MIME identifie déjà un format pris en charge.
  • Charge les sérialiseurs des formats structurés uniquement lors de la conversion d'un document. Le runtime initial du formateur est plus petit.

Patch changes

  • Explique l'objectif de la vue automatique des documents bruts dans chaque titre localisé du Chrome Web Store.

Patch changes

  • Envoie les événements d'installation, de mise à jour et d'utilisation des fonctions principales après le consentement. Les événements d'anomalie de performance de plus de 500ms sont envoyés avec un ID à usage unique, quel que soit le consentement.
  • Convertit le Client ID envoyé à GA4 au format accepté par Measurement Protocol et active les statistiques d'utilisation en production.

Patch changes

  • Mesure la taille d'une image avec le nombre d'octets de la réponse originale, et non avec la valeur après réencodage. Évite le traitement Canvas inutile pour les grandes images.
  • Compresse les métadonnées des lignes virtuelles des grands JSON et corrige la régression mémoire lors de la conservation de documents de 1 MiB.
  • Remplace React par Solid et réduit de 63% la taille totale du JavaScript brut des runtimes injectés.

Patch changes

  • Centralise la validation de l'émetteur des messages de l'extension et rend explicites les modes d'affichage du formateur sans modifier le comportement existant.
  • Supprime les sélecteurs réservés aux tests des builds de production et conserve des sélecteurs stables dans les builds E2E.
  • Réduit la taille brute de l'extension en utilisant l'anglais dans les vues du formateur injecté. Le popup et les options restent localisés.
  • Simplifie le popup de la barre d'outils. Il affiche l'état de la page, restaure les origines désactivées et ouvre les paramètres.

Minor changes

  • Ajoute un bouton de téléchargement à la barre d'outils. Il enregistre le document brut, le JSON minifié ou une conversion avec le nom du document et l'extension de la vue. La conversion de config.json en YAML produit config.yaml.
  • Virtualise l'arbre JSON imbriqué afin de limiter le DOM pendant le défilement de grands documents.
  • Dirige le lien d'assistance vers la page d'assistance de l'extension sur le site du produit. Le japonais ouvre /ja/ et les autres langues ouvrent la page par défaut. Le lien About inclut la version de l'extension et l'agent utilisateur.
  • Ouvre la page des paramètres dans un onglet séparé depuis le pied du formateur.
  • Crée et conserve un Client ID UUIDv7 lors de l'installation ou de la mise à jour, quel que soit le choix concernant les statistiques d'utilisation. Le consentement contrôle uniquement l'envoi. Le même ID local reste donc utilisé après un refus ou un retrait.

Minor changes

  • Ajoute les thèmes système, clair et sombre, une vue originale ponctuelle, des contrôles de formatage par origine et des statistiques d'utilisation basées sur le consentement. Ajoute aussi des sorties rapides pour les pages non formatées et empêche le remplacement des pages HTML dont l'URL contient une extension prise en charge.

Minor changes

  • Première version publique sur le Chrome Web Store.
  • Détecte les liens HTTP, HTTPS et mailto, et non plus seulement HTTPS. Ne convertit jamais en liens les schémas qui contiennent des scripts ou du contenu, comme javascript:, data:, blob: et file:.
  • Rend le Markdown sur les hôtes qui utilisent une CSP stricte. Remplace le rendu WASM, qui ne pouvait pas démarrer sur raw.githubusercontent.com et des hôtes similaires, par un rendu JavaScript pur. Le bundle passe de 806 kB à 440 kB. La détection YAML fonctionne aussi lorsque le document contient surtout des séquences. Le bouton de liens est disponible pour tous les formats structurés.
  • Améliore la fiabilité de la détection des formats. Ne formate pas comme INI les fichiers rc du shell qui commencent par KEY=value. Reconnaît TOML lorsque l'en-tête de section suit les clés de niveau supérieur. Si l'analyse d'une détection basée uniquement sur le corps échoue, laisse la page inchangée au lieu d'afficher une erreur. Détecte le JSON avec tout type MIME qui se termine par +json, comme application/problem+json et application/vnd.api+json.
  • Convertit le document courant vers un autre format structuré depuis la barre d'outils. Les conversions impossibles, comme un tableau de niveau supérieur vers TOML, affichent une erreur d'analyse au lieu d'échouer silencieusement.
  • Ajoute au visualiseur les actions tout développer et tout réduire, la recherche dans les clés et les valeurs avec mise en évidence, la copie du chemin de chaque nœud (data.items[0].id) et des erreurs d'analyse qui indiquent la ligne concernée.
  • Renforce la détection afin de ne pas remplacer les pages qui ne contiennent pas de données structurées.
    • Détermine le Markdown uniquement avec le type MIME et l'extension. Ne l'infère pas du corps, car renderMarkdown accepte tout texte.
    • Traite --- comme un marqueur de document YAML et non comme un signal Markdown. Le YAML servi comme text/plain est donc aussi formaté.
    • Exige que 70% des lignes non vides ressemblent à des associations YAML. Les journaux, les listes d'en-têtes et la prose qui commence par deux-points restent ainsi en mode Raw.
    • Ne suppose pas qu'un corps de plus de 5 MB est du JSON sans le vérifier.
    • Affiche les littéraux de date YAML et TOML comme des chaînes et non comme des objets vides.
  • Ajoute un menu About au pied de page. Il s'ouvre vers le haut au survol ou lorsque le clavier lui donne le focus. Il contient des liens vers la page d'accueil, la politique de confidentialité et le formulaire d'assistance.
  • Garde le menu About ouvert pendant que le pointeur se déplace vers lui.
  • Supprime le bouton Raw propre au visualiseur Markdown. La barre d'outils possède déjà ce bouton.
  • Aligne les informations du Store sur le comportement réel. La description cite JSON, YAML, TOML, INI, Markdown et les images. La politique de confidentialité indique que seule une valeur booléenne du bouton de liens est conservée. La version du manifeste suit package.json au lieu d'être écrite en dur.