← Back to home

Changelog

Release history for Asana Essentials

v1.2.0 September 2026 Latest

Features

  • OpenAI-Compatible Local AI Provider: Full integration with local or self-hosted LLM servers (Ollama, LM Studio, vLLM, Jan, LocalAI). Supports customizable base URLs, optional bearer authentication, automatic /v1/models endpoint discovery, and custom model selection.
  • In-Browser WebGPU AI Engine (WebLLM): Upgraded client-side SLM engine leveraging WebGPU hardware acceleration for fast, private in-browser inference (Llama 3.2 3B, Qwen 2.5, SmolLM2) with zero API keys or external data transmission.
  • Chrome Built-in AI (Gemini Nano): Instant local inference via Chrome's native Prompt API with zero download waiting time.
  • Direct API Keys: Direct client-to-cloud connections to Google Gemini, OpenAI, and Anthropic Claude without intermediary servers or developer proxies.
  • 4 Summary Personas: Tailor standup and task summaries with specialized prompt templates: Standard (balanced progress and blockers), Executive Brief (business impact and deliverables), Technical Deep-Dive (code changes and architecture), and Action Items First (prioritized tasks and next steps).
  • Real-Time Generation Metrics: Live telemetry badges on generated summaries showing generation duration (seconds), estimated token count, and tokens-per-second throughput.
  • Standup AI Speaker Summary: Synthesize all tasks and status updates for the active speaker into an instant briefing during standups, accessible via an interactive floating window.
  • Extend Speaker Time Shortcut: Added + / = keyboard shortcuts to instantly add time to the active speaker's timer during a standup session.
  • WebLLM Cache Manager: Dedicated panel in extension settings to pre-download model weights, monitor disk space, and clear cached weights.
  • Rating & Feedback Invite: Non-intrusive review reminder for the Chrome Web Store after repeated successful standups.

Architecture & Styling

  • Next.js-Inspired Codebase Organization: Restructured source code into clean domain directories (src/app/, src/components/, src/features/, src/hooks/, src/lib/, src/styles/).
  • Co-Located SCSS Styling: Migrated component styles into co-located .scss files with design token CSS variables (--popup-..., --asana-...) and eliminated stray inline styles.
  • Model-Specific Prompt Slicing: Dynamically prunes task descriptions and comment histories to optimize memory usage and speed for smaller local SLMs.

Testing & Security

  • 95%+ Test Coverage: Comprehensive unit, functional, and integration test coverage across all storage, messaging, timer, queue, and AI abstraction layers.
  • Non-Commercial License: Clear licensing safeguarding the codebase under custom Non-Commercial terms.
v1.1.0 May 11, 2025

Features

  • Settings panel — configure default timer, sound, confetti, shuffle, and task filter
  • Speaker progress indicator (e.g. 2/5) during active standup
  • Option to disable speaker shuffle (fixed order mode)
  • 3-minute timer preset added to the duration picker
  • Standup history limit increased from 20 to 30 records
  • Dynamic version display in the About view

Improvements

  • ErrorBoundary wrapping for graceful crash recovery
  • MutationObserver scoped to toolbar parent instead of document.body
  • Timer uses Date.now()-based elapsed calculation (drift-free)
  • AudioContext resumes automatically if suspended
  • Escape key closes timer picker without stopping standup
  • Task filter poll interval reduced from 2s to 5s
  • SummaryModal and Modal use CSS custom properties for theming
  • All control buttons have aria-label attributes for accessibility

Docs & Testing

  • New landing page, install guide, shortcuts reference, and changelog page
  • Privacy policy expanded with data table and permissions
  • README and CONTRIBUTING.md rewritten to match current project
  • New tests for shuffle disable, progress indicator, Escape behavior
v1.0.0 May 10, 2025

Features

  • Standup timer with configurable duration (presets + clock picker)
  • Auto-shuffled speaker queue with prev/next/skip navigation
  • Task filtering — highlights current speaker's tasks on board and list views
  • Timer persists per speaker — resumes from where they left off
  • Overtime tracking — timer counts into negative after expiry
  • Audio chime (double tone) on timer expiry
  • Confetti celebration on standup completion
  • Summary modal with per-speaker stats, total/avg time, longest speaker badge
  • Keyboard shortcuts: Space (pause), →/← (next/prev), S (skip), Esc (stop)
  • Settings panel — configure timer, sound, confetti, shuffle, task filter
  • Standup history — stores last 30 sessions with per-speaker stats
  • Speaker progress indicator (e.g. 2/5) during active standup
  • Dark mode support via Asana's theme detection

Architecture

  • Feature-based folder structure (shared/, features/, api/)
  • Selector registry with fallback mechanism for Asana DOM changes
  • Floating widget fallback when toolbar structure changes
  • Shadow DOM isolation via Plasmo framework
  • Shadow host re-attachment on Asana SPA re-renders
  • ErrorBoundary wrapping for graceful failure recovery
  • Date.now()-based timer for drift-free countdown
  • Structured logging (verbose in dev, errors-only in production)
  • Cross-browser builds: Chrome, Firefox, Edge, Safari

Testing

  • 298 tests across 28 suites (unit, functional, integration, smoke)
  • 95%+ coverage on statements, branches, functions, and lines
  • Comprehensive mocks for Chrome APIs, Plasmo storage, and messaging