# 0.4.1 - 2026-10-27 (Алиса AI) - Added `alice.yandex.ru` to the exact allowlist in Chrome and Firefox manifests, editor detection, settings UI and background options routing. - The Alice panel is insert-only; no automated sending, provider API, telemetry or extra API permissions. - Restricted Alice pages to chat routes only; the toolbar is never mounted on support, Studio or other Alice pages. - Preserved all existing preferences and commands when upgrading from earlier seven-site settings: Alice defaults to enabled, and prior toggles remain unchanged. - Added negative tests for origin lookalikes, route exclusions, ambiguous editors, malformed settings and UI/site toggles. Chromium local editor fixtures pass; authenticated Alice compatibility remains unverified. # 0.4.0 - 2026-10-27 (optional packs and source-linked Favorites) - Added four insertion-only RU/EN task packs: Writing (7), Research (6), Documents (6) and Marketing (7); optional installation in Settings preserves existing sets and saved prompts. - Introduced a virtual Favorites set with up to 40 references to original commands across all profiles. A star action in Options adds/removes references. Selecting Favorites from the toolbar/popup reflects current source edits without copying prompt text. - Extended the existing strictly validated schema version 1 with an optional `favorites` field; old JSON imports remain supported. Malformed, duplicate or stale favorite references are rejected on import. Removing a command or a profile from Settings also removes its dangling favorite references. - Preserved browser-local storage, exact host allowlist, no new permissions, no telemetry, and ChatGPT-only guarded auto-send. Added negative storage tests and local Chromium UI regression tests. # 0.3.16 - 2026-10-26 (per-site panel visibility) - Added a 7-service checkbox grid in Options: ChatGPT, DeepSeek, Claude, Kimi, Gemini, Perplexity and Grok, with RU/EN labels. - Saving settings hides the toolbar on deselected sites without removing user-defined commands; re-enabling returns the panel on open tabs. - Persisted site choices in existing browser-local settings and JSON export; legacy configurations lacking the optional site map enable all sites. - The global master switch remains independent. Diagnostics now indicate when a specific site is disabled. - No host permissions, API access, new dependencies, network requests or automatic-sending changes. - Added unit, negative validation and local Chromium UI/site-switch regressions. # 0.3.15 - 2026-10-26 (ChatGPT send action stability) - Safely resolve a newly wrapped/reparented ChatGPT composer when it still owns the same verified editor and URL. - Recognize `#composer-submit-button` only when it has an exact Send/Отправить accessible name, not by ID alone; reject voice/stop controls. - Distinguish cancellation due to trusted typing, focus loss, replaced editor and changed text; the default remains fail closed. - Preserve no-auto-send restrictions for nonempty drafts, attachments, in-progress responses and all external AI sites. - Add unit and local Chromium regression tests for two send buttons, changed drafts, root reparenting and voice safety. - Keep storage format, preset IDs, site permissions, and user settings unchanged. # 0.3.14 - ChatGPT Library file-preview containment - Prevent the command toolbar from mounting on `/library` and `/library/file/*` pages, including localized routes. These pages have a separate document-viewer composer and should not be treated as ordinary chats. - Reconcile on SPA route changes to remove a previously mounted panel when entering the Library and restore it when returning to a chat. - Reject insertion attempts on Library pages even if an apparent editor exists. - Provide an explicit diagnostic message for excluded Library pages, with RU/EN localization. - No new permissions, dependencies, storage changes or remote requests. # 0.3.13 — исправление открытия настроек и русская инструкция - Прямое открытие options.html через runtime.openOptionsPage из всплывающего окна расширения. - Резервное открытие через tabs.create (с фиксированным URL самого расширения) или существующий проверяемый background-маршрут. - Content scripts по-прежнему не получают прямой привилегированный доступ к открытию вкладок. - Добавлен INSTALL-RU.txt во все архивы локальной установки и полный ZIP. - Новых разрешений, внешних запросов или изменений в настройках нет. # 0.3.12 - 2026-10-25 (popup hotfix) - Fix popup initialization: load `legal-presets.js` before `shared.js`. Previously missing module caused `Cannot read properties of undefined (reading getProfile)` and disabled controls. - Guard packaging and tests against missing page dependencies; confirm popup startup with fresh and saved settings and that switching sets does not erase custom commands. - No permission, storage format, preset, Kimi adapter, or network changes. # 0.3.11 - 2026-10-25 (Kimi layout stability) - Move Kimi toolbar out of its centered composer flow and into a viewport-fixed overlay; changes are scoped to Kimi. - Keep positioning relative to a compact editor ancestor, avoiding tall page containers. - Recompute overlay position on scrolling/resizing without changing editor dimensions; hide when editor is outside the viewport. - Add repeated DOM mutation regression covering no page layout drift, no duplicated toolbar, input-only behavior, picker and window resize. - No permission, storage schema, dependency or network change. Live Kimi compatibility still requires user acceptance. # 0.3.10 - 2026-10-25 - Fix horizontal overflow of disabled photo/legal action buttons on Options sidebar; use a constrained one-column layout with wrapping block buttons. - Keep sidebar command sets within the left track, including at narrower widths and larger font sizes. - Bust stale cached CSS using a versioned stylesheet URL and show the extension version in the Options footer. - Retain all user commands, sites, permissions, data format, and send safety mechanisms. # 0.3.9 - 2026-10-25 (photo preset update and options UI) - The existing photo set can now append missing slash commands by explicit user action, without overwriting user-edited prompts, names, ordering or send modes. - Preset sidebar displays an enabled Add missing photo commands button with exact count; the action modifies only the draft until Save changes. - Import/storage schema, host permissions, user data and other command packs remain unchanged. - Preset action buttons wrap inside the sidebar, no longer overlap the editor; command numbering uses an inset gutter. - Regression tests cover idempotence, partially updated and manually edited profiles, capacity refusal and the settings UI. # 0.3.8 - photo command expansion - Expanded the built-in photo pack from 24 to 33 items. - Added exact slash-commands for photo workflows: `/passportsizephoto`, `/preserveidentity`, `/preservegeometry`, `/preservetext`, `/keeppose`, `/keepclothes`, `/keepbackground`, `/editonly`, and `/photorealistic`. - Increased the per-profile command limit from 24 to 40 so the full photo pack fits without removing existing guided prompts. - No new permissions, no network requests, and no storage schema changes. # 0.3.7 - Kimi editor compatibility - Expanded Kimi-specific editor detection and nearest local wrapper anchoring. - Added no-form Kimi regression; retains insert-only protection and existing profiles. - No added site permissions, APIs, dependencies, or storage changes. - Live Kimi verification required. ## 0.3.6 - 2026-10-25 - FIX: contenteditable/ProseMirror multiline `insertText` may preserve every character but insert extra DOM line breaks. Accept only whitespace-layout differences during insertion verification, keeping exact character and punctuation verification and rejecting truncated data. - SAFETY: automatic sending still requires strict text equivalence; if native multiline formatting differs, keep the entire draft and require manual sending. Existing drafts are preserved. - YANDEX: explicitly package a Chromium-compatible Yandex Browser folder plus a root-manifest installation ZIP. Same code/permissions as Chrome, no remote services or new host access. Note Yandex store-origin restrictions and pending live-browser validation. - TESTS: add four Chromium regression scenarios including a deliberate truncated insertion, re-run existing unit and multi-provider suites, verify archive consistency. # Changelog ## 0.3.5 (hotfix) - Replace the horizontal in-place profile chooser with a real vertical dropdown, rendered in the browser popover top layer where supported. - Keep command buttons visible while the chooser is open. - Guard `storage.onChanged` listeners where the WebExtension API is absent or is being unloaded. - Keep existing local command sets and browser permissions unchanged. - Regression tests for both issues. # 0.3.4 (25 October 2026) - clean rebuild - Fresh source directory and reproducible ZIP packaging; old dist files and outdated ZIPs are excluded. - Separate lightweight install archive, store ZIP, and source ZIP. - Fully preserved 0.3.3 functionality: RU/EN, Vibe coding, code agent button, 24 photo presets, 10 legal presets, DeepSeek/Kimi/Grok/other site adapters. - No new permissions, no storage migration, no account data collection. - Cleaned up page lifecycle event listeners. - Regression and release/package verification refreshed. # Changelog ## 0.3.3 - 2026-10-25 (beta) - New bilingual 10-command legal set. Fresh installs get it by default; existing users can add it explicitly without losing custom prompts. - Rename factory set to Вайбкодинг / Vibe coding and command to Для код-агента / For coding agent, retaining stored IDs and preserving modified prompts. - Grok-specific fixed panel aligned to actual editor geometry, tracks viewport and scroll; hidden offscreen. - No added site permissions, remote calls, automatic sending on non-ChatGPT providers or schema changes. ## 0.3.3 - 2026-10-25 (beta) - Replace the native toolbar command-set dropdown with a clipped-container-safe, keyboard-accessible inline choice strip. This addresses user-reported trouble changing sets on DeepSeek. - Clearly explain when only one set is saved; users can add another in Settings. - Keep stored command sets, storage key/schema, language selection, photo presets and all provider adapters unchanged. - 85 unit/subtests, 3 new profile-switch Chromium scenarios, 11 multi-provider simulated scenarios, 5 ChatGPT editor scenarios and i18n UI smoke passed. - No new host permissions, APIs, auto-send behavior or external dependencies; live DeepSeek verification remains pending. ## 0.3.1 - 2026-10-25 (beta) - Fix Kimi international hostname `www.kimi.ai` (and `kimi.ai`): explicit content-script allowlist, matching background and tests. - Recognize a unique, visible, bare `contenteditable` on Kimi as a conservative fallback; reject ambiguous editors, dialogs and navigation. - Explain DeepSeek landing-page vs chat-host mismatch and Kimi alternative domains in popup connection diagnostics. - No new extension API permissions; insertion-only on Kimi and other non-ChatGPT sites. Original user command sets and export/import schema retained. - On-site acceptance still needed before public store submission. ## 0.3.0 - 2026-10-24 (experimental) - Add strict-origin, insert-only web editor adapters for DeepSeek, Claude, Kimi, Gemini, Perplexity and Grok; retain ChatGPT adapter and user presets. - Rename extension listing to Quick Commands for AI; publisher snetkov.ru remains. - Add exact site access to Chromium and Firefox manifests, no new API permissions or network requests. - Update user-facing language strings, security notes, privacy policy and store guidance. - 85 unit/subtests, 9 simulated Chromium multi-provider tests, 5 ChatGPT fixture smoke scenarios pass. Live new-provider compatibility requires manual tests. ## 0.2.1 - 2026-10-24 - Добавлен отдельный набор из 24 фото-пресетов (RU/EN) на основе каталога snetkov.ru/photopromt/. - Новый пользователь получает готовый набор; существующий добавляет его кнопкой в настройках без перезаписи своих команд. - Предустановленные фото-команды безопасно вставляются для ручной отправки и содержат инструкции по сохранению исходника. - Добавлена ссылка на полный каталог сайта, без сетевых запросов и новых разрешений. - Добавлены тесты сохранения/импорта, повторного добавления и UI на локальном Chromium. ## 0.2.0 - 2026-10-23 - Added Russian and English localization for the toolbar, popup, settings, diagnostics, validation errors and composer notices. - Browser-language auto-detection with a manual Auto / Русский / English selector, stored locally. - Chrome/Firefox manifest strings use `_locales` and `default_locale` for browser-native listing localization. - English initial command set on a fresh English-language installation; user commands and JSON schema remain unchanged when changing UI language. - Kept © 2026 snetkov.ru attribution and narrow permissions; no new dependencies or network endpoints. - Added localized regression tests and offline Chromium UI tests for switching languages without losing drafts or saved commands. ## 0.1.4 - 2026-10-23 - Added snetkov.ru author credit to the popup and options page. - Added publisher homepage_url to both browser manifests. - Added a manifest-root Chrome Web Store ZIP, privacy-policy draft and store submission notes. - No command behavior, permissions or storage schema changes. ## 0.1.3 - 2026-10-23 - Fixed detection of the real ChatGPT editor: the inner `div.ProseMirror` has `data-composer-markdown` while its outer wrapper has `data-composer-input-variant`. - Added a Chromium regression fixture based on the reported DOM, rather than assuming `data-composer-input` on the editor. - Kept insertion-only behavior for an unverified composer container; no added permissions. ## 0.1.2 · 2026-10-23 - Поддержка ChatGPT ProseMirror с `data-composer-input="true"`, когда отсутствует `#prompt-textarea`. - Размещение панели перед `data-composer-body` или `data-composer-input-variation`, чтобы не вставлять её внутрь строки редактора. - Для нового контейнера отправка одним кликом отключена до проверки управляющих элементов; вставка доступна. - Добавлены регрессионные VM- и браузерные сценарии. Нет новых разрешений или зависимостей. ## 0.1.1 · 2026-10-23 Исправление по сообщению пользователя «Расширение добавил, но ничего не появилось». - HTML-форма вокруг редактора больше не обязательна: поддержаны известные контейнеры ChatGPT. - Добавлен ограниченный резервный режим: конкретный редактор без полного контейнера позволяет только вставку, без автоматической отправки. - Диагностика в popup сообщает о подключении к вкладке, состоянии редактора и панели. Читаются только ID активной вкладки и служебные состояния. - Ошибки старта и монтирования больше не скрываются без сообщения. Временный сбой монтирования повторяется на следующем событии или интервале. - Добавлены проверки разметки без form, диагностики и восстановления после сбоя. - Разрешения и формат сохранённых команд не изменены. Обновление требует перезагрузки расширения и страницы ChatGPT. ## 0.1.0 · 2026-10-23 Первая тестовая версия. - Панель команд над обычным полем ввода ChatGPT, с переключением наборов и светлой/тёмной темой. - Шесть начальных кнопок, все в режиме вставки. Режим отправки включается для каждой команды отдельно. - Существующий черновик сохраняется; при нём, распознанных вложениях или генерации используется только вставка. - Отправка отменяется при изменении поля, навигации, уходе из вкладки, выключении панели, изменении настроек или истечении краткого срока ожидания. - Локальное хранение, полный редактор, проверяемый импорт и экспорт JSON. - Отдельные манифесты Chromium и Firefox, воспроизводимая сборка и исходники без runtime-зависимостей. - Автоматические проверки состояния, сообщений фонового скрипта и логики адаптера. Проверка установки и живого ChatGPT остаётся открытой.