1. Wiki
  2. MindTab
  3. Changelog

Changelog

All notable changes to MindTab. Format follows Keep a Changelog; versioning follows Semantic Versioning.

The repo CHANGELOG.md tracks the complete release history.

1.5.1 — 2026-08-24

Changed

  • GitLab mirror: added a README badge linking to the project's GitLab mirror.
  • Development dependency: updated the indirect postcss dependency from 8.5.15 to 8.5.25, including its nanoid transitive dependency update.
  • Release version: bumped the extension and npm package version to 1.5.1.

Development

  • JavaScript type checking: added TypeScript JSDoc checking across the extension source with a new npm run typecheck script.
  • Typecheck configuration: added browser-extension ambient types, module scoping, and Node-compatible module resolution so type checking passes across the extension source.
  • Continuous integration: CI now runs the JSDoc type check and uses Node.js 22 for lint and test jobs.
  • Dependency maintenance: added weekly Dependabot updates for npm packages and GitHub Actions.

1.5.0 — 2026-06-24

Added

  • Default card deletion: once a user has at least one custom card, delete buttons appear on default deck rows; removed defaults are stored in mindtabDeletedDefaults sync storage and respected when picking the next card.
  • Storage meter: the Flashcard Manager shows custom-card storage usage against the 7,500-byte limit, with green, orange, and red warning states.
  • Inline card editing: custom card rows can be edited in place with pre-filled question and answer fields, Save, and Cancel controls.
  • Flashcard timing controls: Settings exposes sliders for “Show after” (5–60 minutes) and “Display for” (5–30 seconds), stored in sync storage.
  • Per-site exceptions: users can disable Feed Sanitizer, Ad Blocker, Tone Translator, or Flashcards for specific domains.
  • Feed Sanitizer platform support: added promoted-content selectors for Reddit, LinkedIn, TikTok, and Threads.
  • Community filter lists: expanded target domains and controller merging so community selectors apply to the new platforms.
  • Popup daily stats: the popup shows the number of elements hidden today; the count resets at midnight.
  • Tone improvement suggestions: writing suggestions now include an italic tip explaining how to fix the issue.
  • Ad Blocker keyword editor: Settings now supports custom malicious text keywords and URL patterns, merged with bundled lists at runtime.
  • Ad Blocker allowlist: “Trust this site” adds the current domain to an allowlist managed in Settings.
  • Onboarding page: new installations open a single-page guide covering all four features, shortcuts, and tips.
  • Stats dashboard: new ui/stats.html page shows hidden elements, trusted sites, card totals, due cards, reviewed cards, ease factor, and retention status.
  • Card search and filter: the Flashcard Manager filters custom and default cards while preserving source indices for editing and deletion.
  • Anki-compatible CSV export: added a Front,Back CSV export with escaping for quotation marks.

Changed

  • Updated the default card subtitle to explain custom-card syncing and default-card removal.
  • Refactored makeCardItem() to accept delete and edit options and group row actions.
  • Placed Stats and Settings side by side beneath Manage Flashcards in the popup.
  • Relabelled the JSON export button to “Export JSON”.

1.4.0 — 2026-06-18

Added

  • Alt+Shift+T shortcut: reopens and re-runs the Tone Translator panel on demand.
  • SRS progress in export/import: flashcard exports now include spaced-repetition state as { version: 1, cards, srs }; legacy plain-array exports remain supported.

Fixed

  • Malicious iframe URLs: ad-blocker URL checks now inspect iframe src values as well as anchor href values.
  • Filter fetch timeout: filter-list updates now abort after 10 seconds instead of stalling the service worker.
  • Custom card storage overflow: adding and importing cards now checks serialized size before writing and reports a clear error.

Tests

  • Added ad-blocker tests for URL and text matches, clean elements, empty inputs, truncation, and iframe sources.
  • Added filter integrity tests for threshold boundaries and empty-cache behavior.
  • Extended flashcard tests for stable cardKey handling of special characters and emoji.
  • Aligned the pickCardPure test helper with the implementation and pinned randomness in tests.

1.3.0 — 2026-06-05

Fixed

  • cardKey collision: replaced question truncation with a djb2 hash of the full question string.
  • SRS storage quota: moved SRS state from chrome.storage.sync to chrome.storage.local, with automatic migration.
  • Silent storage errors: storage operations now catch and log failures instead of silently breaking SRS tracking.
  • Flashcard focus trap: the flashcard dialog now traps focus and dismisses with Escape.

Added

  • Flashcard keyboard navigation: Space/Enter reveals a card, 1 marks “Got it”, and 2 skips it.
  • Flashcard light theme: the widget follows the extension theme and updates without a page reload.

Changed

  • Persisted the Writing Assistant collapse state in chrome.storage.local.
  • Extracted the shared DEFAULTS constant for the background service worker and popup.

1.2.1 — 2026-05-12

Fixed

  • Added aria-live="polite" to address issue #14.

Changed

  • Updated the extension name in documentation to match the store listing.
  • Bumped the version to 1.2.1.

1.2.0 — 2026-05-16

Added

  • Spaced repetition (SM-2): flashcards now prioritize due cards and track progress from “Got it”, “Skip”, and timeout results.
  • Flashcard export/import: custom cards can be shared as validated JSON decks.
  • Writing check controls: each Tone Translator check and the long-sentence threshold can be configured.
  • Manual theme override: Settings provides System, Light, and Dark options.
  • Custom filter list sources: Settings can add and remove the three filter-list URLs.
  • CodeQL security scanning: added automated JavaScript SAST on every PR and weekly.
  • CONTRIBUTING.md: added architecture, local setup, style, security, and PR guidance.
  • Vitest test suite: added 43 unit tests across tone analysis, filter parsing, and CORS validation.

Changed

  • Added Escape and Alt+Shift+F keyboard shortcuts.
  • Improved ARIA roles and attributes for the Tone Translator and flashcard overlay.
  • Added a 750 ms grammar-server cooldown after analysis.
  • Rejected filter-list updates that drop selector counts by more than 30%.
  • Updated branding credits to AetherAssembly across UI pages.
  • Bumped the version to 1.2.0.

1.1.2 — 2026-05-12

Added

  • Dedicated Settings page: settings moved to ui/settings.html.
  • Test Connection: verifies the grammar server health endpoint and reports latency.
  • Grammar server status: the Writing Assistant shows connected, unavailable, or not-configured states with retry feedback.

Fixed

  • URL sanitization: YouTube host checks now use exact and suffix matching instead of includes().
  • CORS validation: the grammar proxy now validates extension and localhost origins without a configurable wildcard bypass.

Changed

  • Updated manifest icons to PNG for broader Safari Web Extension compatibility.
  • Bumped the version to 1.1.2.

1.1.0 — 2026-05-12

Added

  • Badge counter: the toolbar icon shows the number of elements blocked on the current page.
  • Light mode: popup and Flashcard Manager support light system themes.
  • Shared utils.js: centralized the escHtml utility.
  • Flashcard selection is now random while avoiding the last-shown card.

Fixed

  • Added Firefox MV3 background-script compatibility.
  • Fixed the readability score parameter mismatch that produced NaN.
  • Corrected YouTube Shorts selectors and reran feed sanitization after SPA navigation.
  • Improved feed-sanitizer parent traversal for link-based selectors.
  • Preserved cached filters when all filter-list sources fail.

Security

  • Replaced dynamic innerHTML and insertAdjacentHTML usage with explicit DOM methods.

Compatibility

  • Added Firefox's required data_collection_permissions setting.
  • Added background scripts alongside the service worker for cross-browser support.

1.0.0 — 2025-05-09

Added

  • Feed Sanitizer: removes YouTube Shorts, Instagram Reels, and Facebook Reels with community-maintained filter lists.
  • Malicious Ad Blocker: scans for scam ad patterns, fake alerts, and phishing links.
  • Writing Assistant: provides tone detection, passive voice, weak-word, long-sentence, filler-word, repeated-word, readability, and live text statistics checks.
  • Flash Learning: configurable flashcard overlay with 30 default general-knowledge cards.
  • Flashcard Manager: full-page editor for custom and default cards.
  • Popup UI: four independent feature toggles and grammar-server configuration.
  • Cross-browser support: Manifest V3 compatibility for Firefox, Chrome, and Safari via Xcode conversion.
  • README documentation in English, Spanish, French, German, and Portuguese.
Last updated: 2026-08-24 AetherAssembly/MindTab → GitLab mirror → License: MIT