← Back to home

Changelog

Release history for Asana Essentials

v1.1.0 May 11, 2025 Latest

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