Releases: Dheovani/omnifile
Releases · Dheovani/omnifile
Release list
Omnifile v0.1.0
[0.1.0] - 2026-09-07
Initial public release of Omnifile.
Added
- Local-first document viewing and format-aware editing for Visual Studio Code, with all document handling kept on the machine.
- PDF editor support with packaged PDF.js, custom-document preview, navigation, zoom, fit controls, and search.
- Activity Bar document navigator with page list and thumbnail support.
- Local text preview support for structured and plain-text formats such as JSON, CSV/TSV, Markdown, XML, YAML, and log files.
- Editable Raw mode backed by VS Code's native text-document model.
- Safe Preview mode for Markdown, tables, JSON trees, JSON Lines, and syntax-highlighted logs.
- Privacy-safe runtime diagnostics and a support report without leaking document contents.
- Secure webview implementation using CSP, nonce-based scripts, and strict message validation.
- Architecture documentation and renderer/session design records for future format expansion.
- Added optional readonly previews for PNG, JPEG/JFIF, GIF, WebP, BMP, AVIF, and ICO images using Chromium's local native decoders.
- Added bounded AVIF container inspection and ICO directory validation, including variant-count metadata without eagerly decoding every embedded icon.
- Added image zoom, fit, panning, rotation, transparency-background, metadata, and single-section navigation controls.
- Added bounded image-header validation, generated fixtures, and Extension Host decoding coverage for the initial codecs.
- Added GIF/WebP animation detection and bounded Pause/Play snapshots without eagerly exposing animation frames as document sections.
- Added passive SVG previews with full-file validation, vector scaling, local-fragment references, and no new runtime dependency.
- Added reduced aspect ratios and conservative transparency status to image metadata.
- Added format-appropriate bit-depth metadata without conflating channel depth, sample depth, color resolution, and bits per pixel.
- Added exact GIF/WebP frame counts when the complete animation fits within the bounded inspection window, with an explicit unknown state otherwise.
- Added dependency-free PBM, PGM, PPM, and PNM previews covering ASCII and binary P1-P6 Netpbm files, including 16-bit samples.
- Added a bounded normalized RGBA transport and Canvas rendering path for custom image decoders.
- Added dependency-free QOI decoding for RGB/RGBA streams and all standard QOI pixel operations.
- Added dependency-free TGA decoding for uncompressed or RLE true-color and grayscale images, including origin normalization and alpha.
- Added a developer command that regenerates ignored local image fixtures from the deterministic CI fixture definitions.
- Added dependency-free DDS previews for masked RGB/RGBA and BC1/DXT1, BC2/DXT3, or BC3/DXT5 compressed 2D textures.
- Added bounded single-page and multi-page TIFF/TIF previews with lazy page decoding, structural Activity Bar navigation, and on-demand thumbnails.
- Added JP2 and raw J2K previews by reusing the packaged OpenJPEG WASM decoder, including bounded header validation and declared color-space metadata.
- Added a local custom-image benchmark command for cold/warm decode timing and memory observation.
- Added bounded JPEG XL previews using a selectively packaged libjxl-derived WASM decoder, with pre-decode dimension validation and serialized decoder access.
- Added HEIF and HEIC previews for HEVC-branded still images through a selectively packaged libheif runtime, with bounded container validation and disposable worker isolation.
- Added an optional readonly audio preview for PCM/float WAV and MPEG Audio Layer III files with native accessible playback controls.
- Added bounded WAV/MP3 structure inspection, codec metadata, deterministic fixtures, and Extension Host playback-loading coverage.
- Added Ogg Vorbis previews with first-page CRC, stream-structure, codec-header, and real Chromium playback validation.
- Added native FLAC previews with bounded
STREAMINFOvalidation, exact duration metadata, and Extension Host playback coverage. - Added bounded ID3v2 and FLAC title, artist, and album display without delaying playback for artwork or chapters.
- Extended bounded title, artist, and album extraction to WAV
LIST/INFOand CRC-validated Ogg Vorbis comment pages. - Verified that valid ADTS/AAC-LC still fails native playback in the VS Code 1.134 baseline and kept
.aacunregistered rather than exposing a broken editor. - Added an experimental readonly WebM editor foundation with bounded EBML inspection for VP8/VP9 tracks, generic track navigation, native controls, and explicit runtime-decoder failure reporting.
- Added bounded WebCodecs VP8/VP9 playback with accessible Play/Pause and seek controls, range-indexed WebM clusters loaded on demand, cross-cluster navigation, and real Extension Host coverage beyond the former whole-file limit.
- Added bounded local WebM Opus decoding, AudioContext-based A/V scheduling, mute control, sequential decoder continuity, trailing audio-only cluster support, and a non-blocking video fallback when browser audio policy keeps the context suspended.
- Added deterministic WebM Vorbis demuxing and real Extension Host decode coverage, including compatibility with the Xiph-laced initialization format consumed by the supported Electron runtime.
- Added configurable WebCodecs decoder preferences (
auto,hardware, orsoftware), real decode fallback between acceleration modes, and diagnostics for the accepted mode. - Added bounded adaptive video timeline navigation with bidirectional synchronization between playback time and the Activity Bar.
- Reworked WebCodecs fallback playback controls into a compact, accessible overlay with continuous volume, full-screen support, and keyboard shortcuts that follow VS Code media-control conventions.
- Added on-demand video timeline thumbnails for native and WebCodecs playback without seeking the active player or decoding unrelated clusters.
- Added bounded WebM chapter navigation with normalized labels, bidirectional synchronization, and adaptive timeline fallback.
- Added experimental MP4/M4V previews for inspected AVC/H.264 with optional AAC, using bounded ISO Base Media metadata scans that skip media payloads, preserve the existing navigation and on-demand thumbnail model, and validate generated H.264/AAC playback in the Windows Extension Host.
- Added experimental MOV previews for QuickTime-branded AVC/H.264 with optional AAC, including bounded version 0/1 audio sample entries, nested
wavedescriptors, and real native loading coverage. - Added experimental Matroska/MKV previews for a deliberately restricted VP8/VP9 plus optional Opus/Vorbis subset, with exact document-type inspection, deterministic WebCodecs fallback, full Segment-level Attachment rejection, and real generated-fixture coverage.
- Added bounded one-cluster read-ahead to WebM and Matroska fallback playback so the next encoded segment can arrive before the current segment ends without retaining the complete media file.
- Added local same-name WebVTT and SubRip sidecar subtitles with bounded parsing, plain-text rendering, and synchronized native and WebCodecs playback.
- Added a privacy-safe Extension Host video benchmark that measures metadata, first-frame, seek, and muted playback readiness for explicit local WebM, MKV, MP4, M4V, or MOV resources.
- Added an optional full-playback benchmark mode that exercises every segment of a representative local video through completion.
- Added inspected AV1 playback for WebM and the restricted Matroska subset, including validated
av1Cprofile metadata, bounded range-based WebCodecs decoding, seeking, playback completion, and on-demand thumbnails. - Unified native and WebCodecs video playback behind one VS Code-themed accessible control bar, including shared seek, mute, volume, full-screen, keyboard, and subtitle behavior.
- Added Windows, Linux/Xvfb, and macOS Extension Host CI jobs so media-runtime compatibility is evaluated independently on each target platform.
- Added enforceable VSIX download, installed-size, entry-count, and single-entry budgets with checks for required runtime licenses and development-only files.
- Added weekly npm and GitHub Actions dependency updates plus high-severity pull-request dependency review.
- Validated video playback with audible Opus/Vorbis fallback and A/V synchronization checks, including H.264/AAC MP4, M4V, and MOV across the Windows, Linux/Xvfb, and macOS Extension Host matrix.
Changed
- Stabilized the preview-session architecture around the renderer registry and format-specific abstractions.
- Refined the PDF runtime path for local worker bootstrapping, page lifecycle management, and navigator synchronization.
- Added bounded rendering and thumbnail-caching strategies to keep memory usage predictable.
- Reduced the default public scope to the formats validated in the 0.1 milestone while keeping the design ready for future renderers.
Security
- Package a source-built libheif 1.23.3 runtime with verified provenance, version checks, and worker isolation, exercised by real HEVC pixel decoding rather than local fixture dependencies.
- Excluded local environment files from VSIX packages and enforced this in package validation.
- Hardened webview handling and message validation to reduce the risk of unsafe document-driven execution.
- Kept document processing local to the system and eliminated runtime CDN loading for the bundled PDF viewer.
- Documented private vulnerability reporting and publication expectations in the security policy.
- Updated the transitive
fast-uriandqsdevelopment-tool dependencies to versions outside their reported vulnerable ranges. - Validate image signatures, dimensions, pixel counts, and file sizes before exposing a local image URI to the fixed preview webview.
- Reject active SVG elements, event attributes, DTD/entities, proc...