Skip to content

Releases: SysAdminDoc/Vantage

v0.9.0

01 May 06:47

Choose a tag to compare

v0.9.0 — 2026-05-01

Added

  • Theme expansion — Appearance now supports System, Mocha, Macchiato, Frappe, and Latte. System resolves from prefers-color-scheme and updates live when the browser or OS color scheme changes.
  • Animated background controls — Live backgrounds now expose Motion (System, Still, Calm, Full) and Atmosphere (Soft, Balanced, Vivid) controls. Reduced-motion preferences always force Still; Calm keeps ambient sky/weather movement while disabling rare flyovers, bursts, and parallax.
  • Workspace visual profiles — workspace snapshots now include theme and scenery, and switching workspaces reapplies the effective theme/accent alongside the saved background.
  • Workspace system-theme refresh — active workspaces that use the System theme now respond to browser/OS color-scheme changes even when the base profile uses a fixed theme.
  • Live reduced-motion refresh — animated backgrounds now re-resolve Motion when browser/OS reduced-motion preferences change while Vantage is open.
  • Motion settings clarity — the Background panel now explains whether System motion currently resolves to Full or Still.
  • Accent-aware fallback atmosphere — the theme gradient shown when backgrounds are off now follows the active accent color instead of fixed mauve/blue tones.
  • Visual background presets and readability — Background settings now include Focus, Ambient, Showcase, and Wallpaper presets, plus a Readability control that tunes overlay strength independently from Atmosphere.
  • Scene preview controls and state badges — Live background settings now show resolved theme/motion/weather/scenery state badges and session-only preview controls for time, season, weather, scenery, and holiday variants.
  • Background QA galleryqa-scenes.html renders a grid of forced live-scene variants, with node scripts/qa-scenes-smoke.mjs covering the gallery and visual-control hooks.
  • Local visual QA shim — local-server runs now get a guarded chrome.storage shim so the new tab and QA gallery can render outside the extension runtime without changing installed-extension behavior.
  • Visual QA URL overrides — QA URLs now support deterministic theme, accent, motion, atmosphere, readability, and scenery overrides without saving those choices to user settings.

Install

Chrome / Edge / Brave / Vivaldi (Chromium):

  1. Download Vantage-v0.9.0.zip below.
  2. Extract to a permanent folder.
  3. chrome://extensions → enable Developer mode → Load unpacked → pick the folder.

The .crx is a secondary asset for Chromium forks that still accept self-signed packages.

Firefox (109+):

  1. Download Vantage-v0.9.0-firefox.xpi below.
  2. Open about:debuggingThis FirefoxLoad Temporary Add-on… → pick the XPI.
    (Temporary installs reset on browser restart — see README for permanent options.)

Verify integrity

sha256sum -c SHA256SUMS.txt

v0.8.0

30 Apr 05:30

Choose a tag to compare

v0.8.0 — 2026-04-30

Added

  • Wallpaper / background subsystem — six background kinds selectable from Settings → Appearance: Animated (existing sun-cycle), Solid color, Gradient (from/to + angle), Image URL, Image Upload (base64-stored), Bing Daily (fresh photo each day, cached per date). Shared blur (0–20 px) and brightness (50–150%) sliders for image-based kinds.
  • Multi-profile workspaces — named layout profiles in Settings → Workspaces. Each workspace stores a snapshot of accent, background, layout, quicklinks config, and per-widget enabled flags. A workspace bar renders pill buttons below the utility bar when 2+ workspaces exist; switching wraps in document.startViewTransition() for a smooth cross-fade. Workspace settings never mutate the base profile — computed as effectiveSettings each mount.
  • Quick-link folder groups — link items can be placed in named groups. Groups render as pill buttons; clicking opens a floating popover grid of that group's links. Popover closes on Esc or outside click. MutationObserver cleans up event listeners on unmount.
  • Top Sites widget — reads chrome.topSites.get() and renders a favicon pill row in the hero area. Falls back to initials if the favicon is unavailable. Hidden automatically on Firefox builds where the API is absent.
  • Feed deduplication — after merging all feeds in feed-list.js, items are deduplicated by normalized URL (hostname + pathname, lowercase, trailing slash stripped) using a Set.
  • Feed filter rules — per-panel mute/highlight rules in Settings → RSS / News. Each rule has a regex pattern, field (title or URL), action (mute hides the item; highlight adds a colored left-border accent), and optional color. Rules are applied post-fetch before render.
  • Reddit feed presets — a collapsible presets block in the RSS and News feed settings with one-click add buttons for r/all, r/popular, r/technology, r/worldnews, r/programming, and r/science.
  • View Transitions APIdocument.startViewTransition() wraps workspace switches and accent color changes for smooth page transitions (graceful no-op on browsers without support).
  • Storage quota panel — Settings → Storage shows navigator.storage.estimate() usage and quota as a color-coded progress bar (yellow at 80%, red at 95%) plus a human-readable label.
  • Firefox container → workspace mapping — Firefox-only section in Settings. Reads browser.contextualIdentities.query({}) to list all containers and lets you assign each to a workspace. On page load the active container is detected via browser.tabs.getCurrent().cookieStoreId and the mapped workspace is applied automatically.
  • AMO update feed — CI release workflow now generates firefox-updates.json (AMO-compatible format) and commits it alongside updates.xml. Firefox manifest's gecko.update_url points to the raw GitHub URL so self-hosted XPI updates are auto-detected by the browser.
  • New SVG icons: folder, folder-open, layers2, star, filter, hard-drive.

Changed

  • manifest.jsontopSites added to permissions; https://www.bing.com/* added to host_permissions.
  • manifest.firefox.jsontopSites, contextualIdentities, tabs added to permissions; https://www.bing.com/* added to host_permissions; gecko.update_url now set.
  • src/main.jsmountAll() computes effectiveSettings once from the active workspace before rendering all widgets; workspace bar rendered when workspaces are configured; Firefox container detection runs on init.
  • src/storage.js — defaults extended with background, topsites, workspaces, feedFilters, containerMap keys (done in prior v0.8.0 prep pass).
  • .github/workflows/release.yml — "Update Omaha feed" step also generates firefox-updates.json and commits both files.

Install

Chrome / Edge / Brave / Vivaldi (Chromium):

  1. Download Vantage-v0.8.0.zip below.
  2. Extract to a permanent folder.
  3. chrome://extensions → enable Developer mode → Load unpacked → pick the folder.

The .crx is a secondary asset for Chromium forks that still accept self-signed packages.

Firefox (109+):

  1. Download Vantage-v0.8.0-firefox.xpi below.
  2. Open about:debuggingThis FirefoxLoad Temporary Add-on… → pick the XPI.
    (Temporary installs reset on browser restart — see README for permanent options.)

Verify integrity

sha256sum -c SHA256SUMS.txt

v0.7.2

30 Apr 05:02

Choose a tag to compare

v0.7.2 — 2026-04-30

Added

  • Firefox portmanifest.firefox.json ships alongside manifest.json. The CI release workflow now builds a Vantage-vX.Y.Z-firefox.xpi from the same source tree (Firefox manifest injected at package time). Requires Firefox 109+ (MV3 + service worker support).
  • Background script (src/background.js) detects Firefox via typeof browser !== "undefined" and opens a blank new tab (which Firefox routes to the overridden newtab page) instead of the Chrome-only chrome://newtab URL.
  • SHA256SUMS.txt in every release now includes the Firefox XPI hash.
  • Release notes updated to include Firefox install instructions (temporary via about:debugging, permanent via DevEdition/Nightly or enterprise policy).

Technical

  • manifest.firefox.json includes browser_specific_settings.gecko (id: vantage@sysadmindoc, strict_min_version: 109.0) and omits "type": "module" from the background service worker declaration (ES module SW requires Firefox 128+; plain SW works from 109+).
  • All chrome.* API calls in the extension page scripts are compatible with Firefox's chrome namespace alias — no polyfill required.

Install

Chrome / Edge / Brave / Vivaldi (Chromium):

  1. Download Vantage-v0.7.2.zip below.
  2. Extract to a permanent folder.
  3. chrome://extensions → enable Developer mode → Load unpacked → pick the folder.

The .crx is a secondary asset for Chromium forks that still accept self-signed packages.

Firefox (109+):

  1. Download Vantage-v0.7.2-firefox.xpi below.
  2. Open about:debuggingThis FirefoxLoad Temporary Add-on… → pick the XPI.
    (Temporary installs reset on browser restart — see README for permanent options.)

Verify integrity

sha256sum -c SHA256SUMS.txt

v0.7.1

30 Apr 04:50

Choose a tag to compare

v0.7.1 — 2026-04-30

Added

  • Collapsible settings sections — every section in the settings panel now has a click-to-expand/collapse header. State persists across opens via sessionStorage. Appearance and Search default open; all others default closed.
  • Settings filter — search input at the top of the settings panel filters visible sections by keyword as you type.
  • Accent color picker — 9 Catppuccin color options (Mauve, Blue, Green, Peach, Teal, Lavender, Red, Flamingo, Sky) selectable from color swatches in Appearance settings. Applied instantly via data-accent attribute on <html>. Persists in settings.
  • Custom CSS injection — new "Custom CSS" settings section with a monospaced textarea. CSS is injected as <style id="vantage-custom-css"> on every load. Changes apply live while the settings panel is open. Supports all CSS custom properties (--accent, --base, etc.).
  • New SVG icons: code, chevron-right.

Changed

  • src/storage.js — added accent: "mauve" and customCSS: "" to defaults.
  • src/main.js — added applyAccent() and applyCustomCSS() called on init and every settings change.

Install

  1. Download Vantage-v0.7.1.zip below.
  2. Extract to a permanent folder.
  3. chrome://extensions → enable Developer mode → Load unpacked → pick the folder.

The .crx is provided as a secondary asset for Chromium forks that still accept self-signed packages.

Verify integrity

sha256sum -c SHA256SUMS.txt

v0.7.0

30 Apr 04:04

Choose a tag to compare

v0.7.0 — 2026-04-30

Major widget expansion — 10 new panels, a quick widget picker, and multi-embed support.

Added

  • Widget picker — floating popover (grid icon in utility bar) to toggle any widget on/off without opening settings. Groups widgets by category. Inline embed management (add/remove/toggle each embed).
  • To-Do List panel — add tasks, check them off, clear completed. Unread badge shows open task count.
  • Notes panel — sticky-note grid with 5 color variants (blue/green/yellow/red/mauve). Click to expand inline editor with title, body, and color picker. Notes persist in settings.
  • Bookmarks panel — reads Chrome bookmarks API and renders them as a favicon grid. Requires new bookmarks manifest permission.
  • World Clocks strip — slim horizontal strip below the hero section showing time in configurable IANA timezones.
  • Crypto Prices panel — live prices via CoinGecko free API. Configurable coin list and fiat currency. Auto-refreshes every 5 minutes. Shows 24-hour change with color coding.
  • GitHub panel — two tabs: Activity (your public event feed) and Trending (repos created in the last 7 days sorted by stars). Optional language filter.
  • Quote of the Day banner — daily rotating quote from Quotable API (with 10 offline fallbacks). Cached per-day to avoid repeated fetches. Configurable tag filter. Manual refresh button.
  • Photo of the Day panel — daily Picsum photo (seed-stable per date). Optional NASA APOD with API key.
  • Countdown Timer panel — add labeled countdown events with target dates and color coding. Auto-removes past events (or shows "X days ago").
  • Unit Converter panel — 7 categories: Length, Weight, Temperature, Volume, Speed, Data, and Area. Swap button to reverse conversion. Pure client-side math.
  • Multiple embedssettings.embeds[] array replaces the single embed object. Add unlimited named iframes. Settings includes an embeds list with per-embed toggle + edit + delete. Existing single-embed settings auto-migrated.
  • 15 new SVG icons: note, square, check-square, trending-up, message-square, hourglass, calculator, layout-grid, pencil, github, dollar-sign, arrow-left, arrows-up-down, plane (reused), layers (reused).

Changed

  • src/widgets/embed.js — signature changed from renderEmbed(mount, settings) to renderEmbed(mount, embedCfg, opts) where embedCfg is one entry from settings.embeds[].
  • src/main.jsFIXED_PANEL_KINDS expanded; dynamic embed mounts synced in syncEmbedMounts(); panel reorder wired after requestAnimationFrame.

Fixed

  • Style comment updated to v0.7.0.

Install

  1. Download Vantage-v0.7.0.zip below.
  2. Extract to a permanent folder.
  3. chrome://extensions → enable Developer mode → Load unpacked → pick the folder.

The .crx is provided as a secondary asset for Chromium forks that still accept self-signed packages.

Verify integrity

sha256sum -c SHA256SUMS.txt

v0.6.2

30 Apr 03:39

Choose a tag to compare

v0.6.2 — 2026-04-29

Added

  • Windy radar panel — embeds embed.windy.com centered on your weather city. Configurable overlay (wind, gusts, rain, temperature, clouds, pressure, humidity) and zoom level. Drag-to-reorder with the other reading panels.
  • Embed panel — generic configurable iframe for any external service (e.g. ADS-B Exchange flight tracker). Set a title and URL in Settings → Embed. Shows an "Open in new tab" link in the panel header and a graceful fallback if the site blocks embedding.
  • New SVG icons: plane (embed panel header), layers (used by overlay picker).

Install

  1. Download Vantage-v0.6.2.zip below.
  2. Extract to a permanent folder.
  3. chrome://extensions → enable Developer mode → Load unpacked → pick the folder.

The .crx is provided as a secondary asset for Chromium forks that still accept self-signed packages.

Verify integrity

sha256sum -c SHA256SUMS.txt

v0.6.1

30 Apr 03:16

Choose a tag to compare

v0.6.1 — 2026-04-30

Fixed

  • Disabled panel widgets (calendar, and alignment of news/rss) now set display:none on their mount element so a gray card box never shows when the widget is off.
  • Added missing button--ghost CSS modifier (was referenced in settings but not defined, causing ghost buttons to render with the default surface background).

Added

  • First-run setup wizard — shown automatically on new installs. Three layout presets: Minimal (search only), Standard (search + clock + weather + quick links + news), Full (all widgets). Optional personalize step lets you set your name and weather city (geocode or auto-detect). Wizard marks itself complete so it doesn't repeat on reload.
  • Re-launch wizard from settings — Settings → Data → "Run wizard" button lets you switch layout presets or update your name/location at any time without manually toggling each widget.

Install

  1. Download Vantage-v0.6.1.zip below.
  2. Extract to a permanent folder.
  3. chrome://extensions → enable Developer mode → Load unpacked → pick the folder.

The .crx is provided as a secondary asset for Chromium forks that still accept self-signed packages.

Verify integrity

sha256sum -c SHA256SUMS.txt

v0.6.0

30 Apr 02:55

Choose a tag to compare

v0.6.0 — 2026-04-29

Major feature wave driven by a 96-source research pass: three new widgets (air quality, calendar, Pomodoro), full data portability (JSON + OPML + share link), multi-proxy CORS resilience, storage persistence, extended twilight phases, and a full accessibility skip-link.

New widgets

  • Air quality — live US AQI, PM2.5, PM10, and six pollen types from Open-Meteo Air Quality API (air-quality-api.open-meteo.com). No account or API key required. Reuses the weather location. Compact pill in the utility bar; click to expand pollen detail. Color-coded by AQI band (green → maroon → hazardous).
  • iCal calendar — add any standard .ics URL (Google Calendar → "Get shareable link → iCal", Outlook → "Publish calendar", any CalDAV feed). Events shown as upcoming list grouped by day, within a configurable window (1–30 days). CORS proxy fallback chain for hosted calendars.
  • Pomodoro timer — 25/5/15 work-break-long-break cycle (all durations configurable). Tab-blur auto-pauses; tab-focus auto-resumes. navigator.locks ensures only the active tab fires the phase-transition notification even when multiple new-tab pages are open. Web Notifications on completion. Live <title> countdown. Session-dot progress bar. Cross-tab state sync via chrome.storage.onChanged.

Data portability

  • Settings JSON export — download current settings as vantage-settings-YYYY-MM-DD.json.
  • Settings JSON import — load from file; replaces all settings.
  • OPML export — download all RSS + News feeds as vantage-feeds-YYYY-MM-DD.opml (Feedly / Inoreader / NetNewsWire compatible). Category attribute distinguishes rss vs news panels.
  • OPML import — merge feeds from any OPML file (no duplicates by URL; parent-outline or category attr determines panel).
  • Config share link — copy a chrome-extension://<id>/newtab.html#import=<base64> URL; opening it on any device with Vantage installed loads the encoded settings. Hash is consumed and stripped from the URL immediately.

Reliability

  • Multi-proxy CORS chain — RSS and iCal fetches now walk allorigins.win → corsproxy.io before failing. Single-proxy failure no longer breaks all feeds.
  • navigator.storage.persist() — called on startup to ask the browser not to evict Vantage data under storage pressure.
  • corsproxy.io added to host_permissions in manifest so MV3 allows the fallback fetch.

Animated background — extended twilight

  • sun-calc.js now returns eight twilight/golden-hour events in addition to the existing sunrise/sunset/dawn/dusk/noon: goldenHourEnd, goldenHourStart (sun at +6°), nauticalDawn, nauticalDusk (sun at -12°), astronomicalDawn, astronomicalDusk (sun at -18°).
  • computePhase() uses these for granular phase labels: astronomical-night → astronomical-dawn → nautical-dawn → pre-dawn → sunrise → morning/midday/afternoon → golden-hour → sunset → dusk → nautical-dusk → astronomical-dusk → astronomical-night. The sky gradient is driven by the same continuous t-interpolation as before; phases now control star visibility with correct opacity at each twilight band.
  • Star opacity ladder: astronomical-night (100%) → astronomical-dawn/dusk (90%) → nautical-dawn/dusk (60%) → dusk (55%) → pre-dawn (25%).
  • Golden-hour boundaries are now event-driven (actual +6° moment) rather than a fixed 5% fraction of day length — more accurate at high latitudes.

Accessibility

  • Skip-to-main link — first focusable element in newtab.html; visually hidden until focused. Resolves WCAG SC 2.4.1.
  • Toast host upgradedaria-live="assertive" + role="status" so Pomodoro phase-change toasts are announced immediately by screen readers.
  • Calendar panel uses standard panel-body structure; drag handle and refresh button follow existing ARIA patterns.

Install

  1. Download Vantage-v0.6.0.zip below.
  2. Extract to a permanent folder.
  3. chrome://extensions → enable Developer mode → Load unpacked → pick the folder.

The .crx is provided as a secondary asset for Chromium forks that still accept self-signed packages.

Verify integrity

sha256sum -c SHA256SUMS.txt

v0.5.0

30 Apr 00:28

Choose a tag to compare

v0.5.0 — 2026-04-29

The animated background is production-ready. v0.5.0 rolls up the v0.4.7–v0.4.14 patch series: weather that actually reads as weather, sunrise/sunset times accurate to the second, and a clean focus state on the search bar.

Animated weather backgrounds — accurate, not decorative

  • Storms render as storms. Wet/overcast weather (drizzle, overcast, rain, heavy-rain, storm, snow, heavy-snow) now overrides the time-of-day sky gradient with a flat slate palette via inline JS, sourced from the Apple Weather + community storm-weather color references. The previous filter: saturate brightness approach cascaded to and dimmed the rain streak overlays themselves; we now never apply a parent filter to .bg. Sun is forced to opacity 0 during heavy weather, palm-tree silhouette is hidden — a beachy silhouette undercuts the downpour mood.
  • Rain looks like rain, not LCD bands. Rain streak overlays moved from a tiled gradient (which produced full-width horizontal stripes) to inline-SVG tiles with discrete <line> elements at scattered x-positions and a 4px wind-shear tilt. Two layers (220×240 foreground, 280×320 parallax) at different durations for depth. Streaks are cool blue-white (rgba(220,235,255,0.85)) so they read as water on a slate sky.
  • Storm tiers match precipitation level. Open-Meteo's most common precip code in temperate climates is 63 ("rain"), not 65 ("heavy-rain") or 95+ ("storm"). The dark-sky / no-sun / no-palm treatment extends down to plain rain so any precipitation reads as overcast wet-sky. Drizzle gets the gentlest treatment.

Sunrise / sunset accuracy

  • NREL SPA primary, local NOAA fallback. Open-Meteo's daily.sunrise / daily.sunset (NREL SPA, ±30 seconds) is the source of truth, parsed via utc_offset_seconds into absolute-UTC moments — independent of browser timezone, correct across DST, correct in any hemisphere. New src/utils/sun-calc.js (vendored NOAA Solar Calculator algorithm, ~120 LOC, no dependency) provides the offline fallback and supplies civil-twilight dawn/dusk since OM's free tier doesn't include them.
  • Civil-twilight phase boundaries. "pre-dawn" begins at civil dawn (sun 6° below horizon) and ends at sunrise; "dusk" begins at sunset and ends at civil dusk. Civil-twilight duration varies by latitude / time of year (~30 min equator, ~90 min summer-north), so transitions feel right anywhere.
  • Day-rollover watcher. A one-shot timer fires ~5 minutes past the location's local midnight, recomputes sunrise/sunset for the new day, and chains the next rollover. Pages left open across midnight always reflect "today's" events.
  • Polar regions handled. When the sun never rises (alwaysNight) or never sets (alwaysDay) — possible above ~66.5° latitude — sun-calc returns flags that the phase computation respects.

UI polish

  • No more box-inside-a-box on the search input. The global :focus-visible ring no longer paints inside the search wrapper's own focus-within ring. Single clean border on focus.

Install

  1. Download Vantage-v0.5.0.zip below.
  2. Extract to a permanent folder.
  3. chrome://extensions → enable Developer mode → Load unpacked → pick the folder.

The .crx is provided as a secondary asset for Chromium forks that still accept self-signed packages.

Verify integrity

sha256sum -c SHA256SUMS.txt

v0.4.14

30 Apr 00:23

Choose a tag to compare

v0.4.14 — 2026-04-29

Fixed

  • Purple inner outline on focused search input ("box inside a box"). The global :focus-visible { box-shadow: var(--ring) } rule was applying the focus ring to .search-input and the wrapper .search-form was already showing its own ring via :focus-within. Result: two concentric purple rectangles. Suppressed the inner input's :focus-visible ring so only the wrapper highlights.

Install

  1. Download Vantage-v0.4.14.zip below.
  2. Extract to a permanent folder.
  3. chrome://extensions → enable Developer mode → Load unpacked → pick the folder.

The .crx is provided as a secondary asset for Chromium forks that still accept self-signed packages.

Verify integrity

sha256sum -c SHA256SUMS.txt