Skip to content

Releases: e2sy/aether-browser

v1.5.0 — The Real-Browser Release

Choose a tag to compare

@e2sy e2sy released this 25 Oct 07:17

Five real-browser gaps closed in five audited builds — each committed separately with its own tests and a green CI run on Windows, macOS and Linux (73 new tests; full suite at 300+).

What is new

  • Session restore — close Aether, reopen it, everything comes back: every window, every tab, pinned states, which tab was focused. Survives crashes too (unclean shutdowns are detected and still restored). Settings toggle: restore session.
  • aether://downloads (Ctrl+J) — a real download manager: search, pause/resume, cancel, re-download, remove single items or clear the list (files on disk are always kept), click a finished row to reveal the file. History persists across boots.
  • Bookmarks bar (Ctrl+Shift+B) — the row Chrome users miss: click to open, middle-click / Ctrl-click for a background tab, right-click for open-in-new-tab / remove. Live in every window, toggle from the menu, Settings, or the View checkbox.
  • Private windows (Ctrl+Shift+N) — in-memory session: cookies, cache and site data never touch the disk, zero history writes, zero page-memory writes — and the full Shields stack (network + cosmetic + CSP) now runs on the private session too. Violet strip marks the window.
  • Loading progress + site info — Chrome-style progress shimmer while pages load, tab spinner, and a clickable padlock chip in the omnibox: connection verdict, host, live shields counters.

Install (Windows)

Download Aether Setup 1.5.0.exe below and run it. macOS (.dmg/.zip) and Linux (.AppImage/.deb) build in CI — grab them from the Actions artifacts if you need them today.

Requirements: none for browsing. For the AI sidebar/agent: Ollama running locally (models are auto-detected — see the connection guide).

🛠 Docs: https://e2sy.github.io/aether-browser/

v1.4.0 — Customization Studio (make the browser yours)

Choose a tag to compare

@e2sy e2sy released this 25 Oct 05:12

The headline

Every pixel of Aether is now customizable — and it's open source, so the palette itself is forkable. Built to the ROADMAP v1.4 contract.

What's new

  • Themes: dark (default), a real light theme (own readable muted/danger/ok tones — not an inversion filter), and follow-system. Every aether:// page AND the browser chrome are themed.
  • Accent colors: 8 curated presets + any custom color via the native picker. The engine derives the strong/tint/soft variants from your color automatically — buttons, focus rings and highlights stay coherent.
  • UI size slider (85–125%) and 5 new-tab backgrounds (Aurora glow, Midnight, Slate, Daylight, Plain) + clock toggle.
  • Corruption-proof by design: a typed appearance engine (src/main/appearance.ts, pure) validates every field — a broken settings.json can never crash boot; garbage silently falls back per-field.
  • Live everywhere: accent/size apply instantly (CSS variables + broadcast to every window); theme/background re-render internal pages once so the swap is real, not simulated.

Under the hood

  • pages.ts now contains zero hardcoded hex colors (grep-enforced) — everything flows through 16 --ax-* CSS variables emitted per render.
  • 48 new tests (347 total across 11 suites): normalization (hostile blobs → defaults, never throws), palette coherence, CSS emission for both themes.

Windows installer attached below. macOS / Linux installers in the workflow artifacts.

v1.3.0 — Aether Search (our own search engine)

Choose a tag to compare

@e2sy e2sy released this 25 Oct 04:58

The headline

Aether now runs its own search pipeline. Framed first in docs/ROADMAP.md, built to that contract.

Honest framing: Aether is local-first and does not crawl the web — so Aether Search is an open metasearch layer: we fetch every source in parallel, strip tracking, dedupe, rank with our own scorer, brand the page, and say transparently which upstream fed each result.

What's new

  • Parallel multi-source aggregation — DuckDuckGo, DuckDuckGo Lite and Bing run simultaneously (per-source timing chips on the page), failures are named per source instead of silently swallowed.
  • Own ranking — tracking params stripped (utm_*, fbclid, gclid, …), URLs deduped, results scored by title/snippet term coverage and interleaved round-robin so no single source owns the top of the page. Every result wears a SOURCE badge.
  • Instant answers, 100% local — a safe arithmetic engine (hand-written tokenizer + recursive-descent parser, no eval, whitelist-only tokens) answers math queries before the network finishes. Computed on your device.
  • Omnibox suggestion feed — remote completions merged under your local history/bookmark matches (local first, deduped) in the address bar.
  • Branded search page — aether://search rebuilt: aetherSearch wordmark, source badges, timing chips, and the AI answer as an optional card. The page is fully useful with zero Ollama — no more red banner dominating the experience.

Verification

  • 62 new tests (299 total across 10 suites) — the calculator is fuzzed with hostile input (eval(1), process.exit(1), overflow, unbalanced parens)
  • CI green on Ubuntu, Windows and macOS; installers built from the tagged commit

Windows installer attached below. macOS / Linux installers in the workflow artifacts.

v1.2.1 — Platform-Hardened Build (CI green on Windows / macOS / Linux)

Choose a tag to compare

@e2sy e2sy released this 25 Oct 04:38

The headline

The repo went public — and CI ran for the first time in the project's history. Four rounds of fix-and-push later, every platform is green: 237 unit tests + build + headless smoke on Ubuntu, Windows and macOS for every push.

What the first real CI run exposed (all latent for 13 versions)

  1. npm run build was completely broken on Windows — the preload patcher located its target via new URL(import.meta.url).pathname, which doubles the drive letter (D:\D:\...) under path.resolve. Daily use never noticed because npm run dev doesn't invoke it.
  2. All 9 test sandboxes used Unix-only shell (cp -r), the .bin/esbuild sh shim (a platform ELF binary since esbuild 0.16 — both CLI routes dead on cmd.exe), and await import(absolutePath) which throws ERR_UNSUPPORTED_ESM_URL_SCHEME on win32. Rebuilt on fs.cpSync + the esbuild JS API + pathToFileURL/fileURLToPath.
  3. A test itself was platform-dependent — the v1.1.7 profile-recovery probe hardcoded '-recovered\Cache', locking recovery candidate #1 only on Windows.
  4. CI now runs the full suite (237 tests / 9 suites — was 3 stale ones) and release builds fire on every v* tag.

Installers

Built by CI from the green commit — see the workflow run artifacts (Windows NSIS, macOS DMG/ZIP, Linux AppImage/DEB). Windows installer is attached below.

Full changelog: commit history — every milestone since v0.1.0 is tagged.

v1.2.0 — Brave-style Shields (the adblocker grows up)

Choose a tag to compare

@e2sy e2sy released this 25 Oct 04:16

The headline

The root cause of the YouTube blank page is found and fixed. The old integration injected 30 anti-adblock scriptlets into youtube.com; on Electron timing they hijacked the page's own JS plumbing and killed YouTube's bootstrap entirely — the document ended up as a single 257 KB <script> node with no title, no body, zero console output.

What's new

  • Brave's two-tier Shields model — STANDARD (default): network blocking + cosmetic CSS only (CSP-safe). AGGRESSIVE (opt-in): adds the scriptlet tier for anti-adblock walls, with a breakage warning.
  • Per-site Shields popup in the toolbar: shield button with live blocked-count badge, per-site on/off, per-site + total counters, top blocked hosts.
  • Custom filter lists: uBlock presets (Ads / Privacy / Badware) + any https:// list URL, fetched fresh at boot with offline cache.
  • Site diagnostics tooling: AETHER_PROBE=<url> + AETHER_SHIELDS_VERBOSE/NO_* env bisection kept as permanent support tools.
  • Safety by design: main frames are never blocked (v1.1.6 error pages stay truthful); Node fetch (AI/Ollama/search) never touches session webRequest — the AI pipeline is immune.

Verification

  • YouTube renders fully (title/ytcfg/polymer OK, 1.17 MB app) while ad/tracker requests are blocked per boot
  • 237 unit tests green across 9 suites; headless smoke asserts shields IPC + deterministic block counters
  • CI runs the full suite on Ubuntu / Windows / macOS for every push

Full changelog: see commit history — every version since v0.1.0 is tagged.