Releases: Pvisilias/aiola
Releases · Pvisilias/aiola
Release list
Aiola v0.1.75
🤖 Bot traffic — see which AI crawlers read your site
A new Bot traffic panel in Analytics tracks the LLM/AI crawlers your normal JavaScript analytics can never see — because bots don't run JavaScript.
- GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended, Bytespider and more — detected and grouped by vendor with logos.
- Crawls plotted on the same chart and date ranges as your human visitors (today / yesterday / 7d / 30d / custom — same timezone), with a per-bot hover breakdown.
- Top bots + Top crawled pages lists — click a bot to see exactly which pages it crawled.
- One-line server-side install via Settings → Analytics → Add to App — generates the right per-request hook for any stack (Next.js, Nuxt, Express, Python, Rails, PHP, or a Cloudflare/edge worker for static & SPA sites), since the JS snippet alone can't capture bots.
- Bot data flows into the aiola MCP (`get_analytics` + the overview recap) and the analytics Analyze button, so AI recaps now cover how assistants discover and ingest your site (AEO/GEO).
🛠 Fixes
- The Aiola MCP server no longer breaks after an update — the generated server script is now validated at build time, written to disk atomically with an automatic fall-back to the last working copy, and launched on Aiola's own bundled runtime, so the built-in tools keep working across restarts and version updates.
- Thread search jumps to the exact message — and reaches every thread — picking a result scrolls straight to the match and highlights it, and search now covers every thread's title and summary across all your threads.
Aiola v0.1.70
v0.1.70
What's New
- See why your pages aren't getting indexed — and fix them. A new Indexing panel at the bottom of Analytics shows the "why pages aren't indexed" reasons straight from Google Search Console (plus Bing crawl issues) for the site connected to your project. Issues are grouped by the exact reason —
noindex, 404, redirects, crawled-but-not-indexed, robots-blocked, whatever the engines actually report — each with the affected URLs and when they were last crawled. It inspects your sitemap in the background and fills in live (so even sites with thousands of URLs keep building up), then caches the result so it's instant next time. Hit Fix with AI to send the whole list to chat — the agent finds the shared root cause and fixes it, and you can tailor exactly what it does in Settings → Instructions → Indexing Fix. - Search inside your threads. The command palette (⌘K) now searches the contents of every thread in the current project — not just titles. Type a couple of letters from something you remember saying or doing, and matches show up under a new Found in threads group with a highlighted snippet of the message; hit it to jump straight to that thread. It's scoped to the project you're in (so you find it where you remember building it), updates as new threads come in, and stays fast and out of your way while you type.
Improvements
Fixes
- Generate summary works again. The per-thread Context panel's Generate summary could silently do nothing in the packaged app — it ran a fixed model that not every provider offers (Cursor rejected it outright, others hit a quota tier), so the request came back empty and the panel never updated. Summaries now run on the same model and provider the thread is already using, so Generate and Regenerate produce a real recap across Claude, Codex, and Cursor.
Aiola v0.1.60
v0.1.60
What's New
- Notes — an Apple-Notes-style writing surface alongside Plan. A note list with search and pinning on the left (grouped by date), the same block editor you know from Plan on the right, with the chat pane wired in. Per-workspace, stored locally under
aiola/notes/. Plan, Notes, and Todo are now modes of one Notebook surface — switch between them with a segmented control in the header - Todo — a third Notebook mode: a single per-workspace checklist. Just start typing — every line is a checkable item, press Enter for the next one, and check things off as you go (shift-click a checkbox to toggle a whole range at once). Hide or clear completed items to stay focused. Stored locally under
aiola/todos.json, with the chat pane wired in so the agent can add or check off to-dos for you - Quick Note (floating scratchpad) — a scratchpad one keystroke away on every page of every workspace. Toggle it with ⌘⇧J (Ctrl+Shift+J) or from the command palette. It's the same block editor in a compact frame, so formatting and checkboxes just work — and you can drag it to any of nine slots (corners, edges, or centered)
- Notebook chat knows your notes —
#note-mention any note to pull it into a chat turn, and let the agent create, append to, and read notes directly while it works, so a conversation can spin up or update a note without leaving the composer - Per-thread Context panel — every chat thread gets a Context button in its header that opens a side panel with a Notepad and a Changes view, each kept separately per thread. The Notepad reaches your whole workspace: open any note, switch between them, or start a new one right from the panel — the same notes you write in the Notebook
- Reworked side panel — the dashboard side panel now opens to an empty-state picker — Review, Terminal, Browser, or Files — so you choose what to open instead of it defaulting to a view. Toggle the panel with ⌘E; the views have their own shortcuts (Review ⌃⇧G, Browser ⌘T, Files ⌘P). Those view shortcuts now only open and focus their tab — pressing one again keeps it open instead of toggling it closed, and pressing a view's shortcut from another tab jumps straight to it
- Hand off a running thread between environments — once a thread has started you can move it between Local and a Worktree from the environment selector. The handoff stashes the working tree, materializes (or removes) the worktree, and re-applies your changes on the other side, so you can switch where a conversation runs without losing work
- Canvas whiteboard — sketch right on the Canvas dashboard: shapes, arrows, text and sticky notes, a freehand pen, and an eraser, layered beneath your terminal/browser/chat/image/file cards. Drag, resize, and rearrange anything, and pick a background to taste
- Bigger canvas panels — terminal, browser, chat, image, and file cards now open noticeably larger by default (terminals jump from 600×400 to 820×560), so there's real room to work the moment a panel appears. Minimum sizes scaled up to match, and "arrange" tiling uses the new dimensions
- Voice notes in chat — dictate straight into the composer. Tap the mic and a recording pill appears instantly with a live waveform and timer; stop to transcribe, or cancel to discard. No API key to configure — transcription rides on your existing ChatGPT sign-in through Codex
Improvements
- The Quick Note has its own spot in the command palette and a dedicated keybind, and its position — any of nine slots (corners, edges, or centered) — lives in Appearance settings
- Canvas dragging, resizing, and sketching stay smooth with many panels and shapes on screen, and a selected panel now shows a rounded highlight that matches its card
- App Logs gained an Ignored group: muted issues collapse into their own collapsible section instead of cluttering the active list, and bulk shift-select reaches across the Active, Closed, and Ignored sections
- Arrowing through
@-mention and command suggestions now keeps the highlighted row scrolled into view, so keyboard navigation never runs off the bottom of the popup - The sidebar's Notebook entry stays highlighted whether you're on Plan, Notes, or Todo, since they're one surface
- The analytics "Online" pulse dot now only appears when at least one visitor is live, instead of pulsing next to a zero
Fixes
- Terminal history persists and is shared. Terminals now read and write your real shell history, so arrow-up recalls commands from your other terminals — including a new tab, or the app reopened the next day — instead of starting blank each time
- Login no longer locks itself out. A dead refresh token used to make the app hammer Supabase's
/tokenendpoint from several places at once (auto-refresh timer, Realtime reconnect, and every authed query retrying independently), tripping a per-IP rate limit that then blocked even a fresh Google/OTP sign-in. A client-side circuit breaker now bounds refresh traffic: terminal failures purge the session and open the breaker, bursts short-circuit without hitting the network, and any successful new sign-in resets it. Only refresh-token calls are guarded, so a fresh login always passes through
Aiola v0.1.50
v0.1.50
What's New
- Cursor Agent support — Cursor joins Claude and Codex as a first-class coding provider. Install
cursor-agent, sign in, and pick Cursor models right in the composer. Permission modes map cleanly (read-only → plan, supervised → ask, full access → agent), and Aiola's MCP tools are wired in automatically so Cursor sessions get the same toolset as your other agents - Clone from a Git repo — the Open Workspace screen can now clone GitHub, GitLab, or any Git URL straight into a new workspace. Signed in to the
ghCLI? Browse and filter your own GitHub repos and clone with one click — no URL pasting - Providers settings page — a dedicated page to manage every provider in one place: enable/disable whole providers, hide models you never use, reorder how they appear in the picker, and see each provider's auth status with account email and plan tier
- Live Codex usage — usage now reads live from Codex's servers instead of stale local snapshots, so rate-limit and credit status in Settings reflect reality in real time
- Cursor usage card — see Cursor's plan tier, rate limits, and credit balance alongside your Claude and Codex usage
- Default Fast Mode — set a per-workspace default for Fast Mode on any model that supports it; the option hides itself automatically on models that don't
Improvements
- Automations use a provider → model drill-down picker instead of a flat list, so models that share a name across providers (e.g. GPT-5.5 on both Codex and Cursor) are never ambiguous
- Workspace settings handle provider and model switches coherently — picking a provider auto-selects its first model, and switching models drops now-invalid reasoning/fast-mode defaults instead of silently keeping them
- CLI update banner is friendlier: "Recommended" rather than "Required", a "Later" button to dismiss a specific update, manual "Restart now" so updates never kill a running automation, and a re-check every 30 minutes for long-lived sessions
- Terminals force-kill their whole process tree on close, so dev servers and other children spawned in a terminal no longer linger as orphans
- The Local dev-servers panel only lists real dev servers now, ignoring the random high (ephemeral) ports the OS hands out to internal helpers
- Your open files and active tab in "All files", and the diff viewer's tree/view mode, survive switching workspaces or jumping to the central dashboard and back
- The sidebar home button returns you to the last central page you were on instead of always going to the start
- Drag a file onto the terminal pane to attach it
- Sensitive values (tokens, secrets) render redacted in the UI while staying one-click copyable
Fixes
- Model picker and automations now store the provider alongside the model slug, so older automations whose slug exists under multiple providers resolve to the right one
- Dragging a file onto chat or a terminal no longer attaches it twice or spawns a stray image tile
- Switching the active file no longer briefly shows the previous file's contents under the new path
- Cursor's available models, fast-mode support, and reasoning levels are auto-probed and refreshed on Re-check
- Cursor's MCP integration is approved automatically and scoped to the project via
.cursor/mcp.json, so tools load without a manual approval step git add/git restoreretry on transientindex.lockcontention instead of failing outright- Update checks filter out transient network errors (network changed, internet disconnected) so sleep/reconnect cycles stop polluting app logs
Aiola v0.1.40
v0.1.40
Fixes
- Diff viewer no longer freezes on untracked binary files (images, fonts, PDFs, etc.)
- Plan page: deleting the last plan now resets cleanly to a fresh "default" instead of leaving stale items behind; renaming is allowed on any plan
- Tasks board: Backspace/Delete removes selected cards, and Cmd/Ctrl+Z undoes a deletion, Cmd+Shift+Z / Cmd+Y redoes
- Dialogs: Esc reliably closes them, and the first input/textarea is auto-focused on open — Enter submits without hunting for the button
- App-log notifications re-surface (unread + fresh timestamp) when a group gets new events, instead of being silently dedup'd
- macOS tray icon falls back to alternate asset paths if
logo-nb.pngis missing, so the tray reliably appears
Aiola v0.1.35
Aiola v0.1.3
v0.1.3
New
- Default Mode for workspaces — pick the permission mode that new threads start in, right from Settings
- Terminal placement — move the terminal into the side panel as its own tab, or dock it back to the bottom; the choice is remembered and there's a new toggle for it in Appearance settings
- Unified side panel — Review, Browser, and Terminal now live together in one panel, with the selected tab kept as you switch threads or pages
Fixes
- Analytics revenue chart now lines up correctly — the bars and the revenue axis use the same scale, so the numbers match what the tooltip shows
- Analytics Top Pages now includes Bing page data alongside search keywords
- Tasks chat panel no longer leaves buttons clickable while the agent is running
- Tasks created from chat now pick up your workspace's default model, so they can be triggered right away
- New threads start in your workspace's Default Mode instead of always defaulting to supervised
- Logging out now reliably clears your session so the app doesn't silently sign you back in
Aiola v0.1.2
v0.1.2
Fixes
- Improved terminal isolation so commands run inside your workspace use your project's own configuration
- Tightened agent and CLI integrations (Claude Code, Codex, git, gh, MCP, IDE launchers) for cleaner workspace boundaries
- Fixed the renderer freezing at 100% CPU on threads with large command output or unusual code — oversized blocks now render as plain text instead of locking up
- File diffs no longer reload when switching theme
- Browser tab snapshots no longer pin the renderer — snapshotting is now deferred and throttled
Aiola v0.1.1
v0.1.1
What's New
- Browser pane upgrades —
target=_blankandwindow.opennow open as new sub-tabs instead of replacing the page, with a proper right-click menu (Back / Forward / Reload / Inspect) and a per-webview DevTools shortcut - Local dev server detection — empty-state lists running localhost servers in your workspace with one-click open or kill
- Clear cookies & cache — wipe the canvas browser session without restarting the app
- Approval toasts — OS notifications now fire for new
awaiting_inputapprovals (respects your notification settings) - Zoomable attachments — click images in chat, task cards, and create dialog to expand them
- Kanban headers — sticky column header with status icon, count, and an inline "+ New task" tile at the top of each column
- Smarter workspace defaults — new workspaces auto-seed their default model (prefers Codex gpt-5.5 when installed, falls back to Claude Opus)
Improvements
- Reload shortcuts (Cmd/Ctrl+R, F5) reload the focused browser sub-tab instead of the whole app window
- Task create dialog respects the workspace default model (no more accidental Claude Opus when your default is Codex)
- Worktree deletion no longer races the server — fixes the spurious "is not a working tree" toast
- Slash-command trigger only fires at word boundaries —
test/stays plain text,/modeland/reasoning highstill work - Shared diff panel snaps to 70% width on open
- Composer layout fixed when the message list is hidden
- Silenced harmless
ERR_ABORTEDwebview console noise - Canvas-browser guests skip Aiola.init so their errors stop being reported as ours
- Realtime analytics fetches visitors + events in a single combined query and dedupes inflight refetches
- Branch cache falls back to the root entry for subworktrees, avoiding empty-state flashes