수정
- 구조화된 문서를 분석하고 렌더링할 때 같은 JSON을 반복해서 분석하지 않습니다.
- 설정, 분석, 사이트 제어 메시지를 지연 로드하는 공유 런타임으로 이동했습니다. UI가 표시되기 전에 형식별 런타임이 분석하는 코드가 줄어듭니다.
- Chromium이 지원하는 최신 문법을 변환하지 않고 최신 브라우저 대상용 삽입 런타임을 빌드합니다.
.geojsonURL을 JSON 문서로 인식하고 관련 코어 모듈을 도메인별로 묶었습니다.- 형식별로 중복된 확장자와 MIME 유형을 하나로 모아 코어, UI, 확장 프로그램 런타임에서 공유합니다.
- JSON 트리의 기본 접힘 상태를 깊이와 명시적 예외만으로 저장합니다.
- MIME 유형으로 지원 형식을 이미 확인한 경우 본문 휴리스틱을 실행하지 않습니다.
- 문서를 변환할 때만 구조화 형식 직렬화기를 로드합니다. 초기 포매터 런타임의 크기가 줄어듭니다.
수정
- 각 언어의 Chrome 웹 스토어 제목에 자동 원문 문서 뷰어의 목적을 설명했습니다.
수정
- 동의 후 설치, 업데이트, 주요 기능 사용 이벤트를 전송합니다. 동의 상태와 관계없이 500ms를 초과하는 성능 이상 이벤트는 일회성 ID로 전송합니다.
- GA4로 보내는 Client ID를 Measurement Protocol이 허용하는 형식으로 변환해 운영 사용 통계를 활성화했습니다.
수정
- 이미지 크기를 다시 인코딩한 값이 아니라 원래 응답의 바이트 수로 계산합니다. 큰 이미지에 불필요한 Canvas 처리를 실행하지 않습니다.
- 큰 JSON의 가상 행 메타데이터를 압축해 1 MiB 문서 보관 시 발생한 메모리 회귀를 수정했습니다.
- React에서 Solid로 전환했습니다. 삽입 런타임의 raw JavaScript 크기를 63% 줄였습니다.
수정
- 확장 프로그램 메시지의 발신자 검증을 하나로 모았습니다. 기존 동작을 유지하면서 포매터 보기 모드를 명확하게 했습니다.
- 프로덕션 확장 프로그램 빌드에서 테스트 전용 선택자를 제거했습니다. E2E 빌드에서는 안정적인 선택자를 유지합니다.
- 삽입 포매터 보기에는 영어를 사용하고 팝업과 옵션은 현지화된 상태로 유지해 확장 프로그램의 raw 크기를 줄였습니다.
- 툴바 팝업을 단순화했습니다. 페이지 상태를 표시하고 비활성화된 오리진을 복원하며 설정을 열 수 있습니다.
기능 추가 및 변경
- 툴바에 다운로드 버튼을 추가했습니다. 현재 화면의 원문, 축소된 JSON, 변환한 형식을 문서 이름과 보기 형식에 맞는 확장자로 저장합니다.
config.json을 YAML로 변환하면config.yaml로 저장합니다. - 중첩 JSON 트리 렌더링을 가상화했습니다. 큰 문서에서도 스크롤 중 DOM 크기를 제한합니다.
- 지원 링크를 제품 사이트의 확장 프로그램 지원 페이지로 변경했습니다. 일본어에서는
/ja/를 열고 다른 언어에서는 기본 페이지를 엽니다. About 메뉴 링크에는 확장 프로그램 버전과 사용자 에이전트를 포함합니다. - 포매터 푸터에서 설정 페이지를 새 탭으로 열 수 있습니다.
- 사용 통계 동의 여부와 관계없이 설치 또는 업데이트 시 UUIDv7 Client ID 하나를 생성해 저장합니다. 동의는 전송만 제어하므로 거부하거나 철회해도 같은 로컬 ID를 사용합니다.
기능 추가 및 변경
- 시스템, 라이트, 다크 테마를 추가했습니다. 원문 보기, 오리진별 포맷팅 설정, 동의 기반 사용 통계를 지원합니다. 포맷팅 대상이 아닌 페이지에서는 빠르게 종료합니다. 지원 확장자가 URL에 포함된 HTML 페이지를 잘못 교체하지 않습니다.
기능 추가 및 변경
- Chrome 웹 스토어에 첫 공개 버전을 출시했습니다.
- 링크 감지 대상을 HTTPS에서 HTTP, HTTPS, mailto URL로 확장했습니다.
javascript:,data:,blob:,file:처럼 스크립트 또는 콘텐츠를 포함하는 스킴은 링크로 바꾸지 않습니다. - 엄격한 CSP를 보내는 호스트에서도 Markdown을 렌더링합니다.
raw.githubusercontent.com과 같은 호스트에서 WASM 렌더러를 시작할 수 없어 순수 JavaScript 렌더러로 교체했습니다. 번들 크기도 806 kB에서 440 kB로 줄였습니다. 대부분이 시퀀스인 문서에서도 YAML 감지가 실패하지 않으며 링크 토글은 모든 구조화 형식에서 사용할 수 있습니다. - 형식 감지의 신뢰성을 높였습니다.
KEY=value로 시작하는 셸 rc 파일을 INI로 포맷하지 않습니다. 최상위 키 다음에 섹션 헤더가 오는 TOML을 인식합니다. 본문만으로 추정한 형식의 구문 분석이 실패하면 구문 분석 오류를 표시하지 않고 페이지를 그대로 둡니다.application/problem+json,application/vnd.api+json과 같은+jsonMIME 유형에서도 JSON을 감지합니다. - 툴바에서 현재 문서를 다른 구조화 형식으로 변환할 수 있습니다. 최상위 배열을 TOML로 변환하는 경우처럼 변환할 수 없는 조합은 조용히 실패하지 않고 구문 분석 오류를 표시합니다.
- 뷰어에 모두 펼치기, 모두 접기, 키와 값 검색, 일치 항목 강조 표시, 노드 경로 복사(
data.items[0].id), 오류 행을 가리키는 구문 분석 오류를 추가했습니다. - 구조화 데이터가 아닌 페이지를 교체하지 않도록 형식 감지를 강화했습니다.
- Markdown은 본문이 아니라 MIME 유형과 파일 확장자로만 결정합니다.
renderMarkdown은 모든 텍스트를 받아들이므로 본문 감지에서 거부할 수 없습니다. ---는 Markdown 신호가 아니라 YAML 문서 마커로 처리합니다. 따라서text/plain으로 제공된 YAML도 포맷합니다.- YAML 휴리스틱은 비어 있지 않은 행의 70%가 매핑처럼 보여야 통과합니다. 로그, 헤더 덤프, 콜론으로 시작하는 문장은 Raw로 남습니다.
- 5 MB를 초과하는 본문을 검증 없이 JSON으로 추정하지 않습니다.
- YAML과 TOML 날짜 리터럴을 빈 객체가 아니라 문자열로 렌더링합니다.
- Markdown은 본문이 아니라 MIME 유형과 파일 확장자로만 결정합니다.
- 푸터에 About 메뉴를 추가했습니다. 마우스를 올리거나 키보드 포커스를 받을 때 위로 열립니다. 홈 페이지, 개인정보 보호정책, 지원 양식으로 이동할 수 있습니다.
- 포인터를 About 메뉴로 이동하는 동안 메뉴가 닫히지 않습니다.
- Markdown 뷰어의 자체 Raw 버튼을 제거했습니다. 툴바 버튼을 사용합니다.
- 스토어 설명을 실제 동작에 맞게 수정했습니다. 확장 프로그램 설명에 JSON, YAML, TOML, INI, Markdown, 이미지 등 모든 지원 형식을 적었습니다. 개인정보 보호정책에는 저장되는 값인 링크 토글의 불리언 하나를 적었습니다. 매니페스트 버전은 하드코딩하지 않고
package.json을 따릅니다.