All notable changes to BA Click FX Extension are documented in this file.
- Breaking: removed persisted
fxParamSchemaVersionandstorageSchemaVersionfields. The pinned core Schema remains a compile-time contract, and old version keys are ignored without migration or write-back. - Stopped persisting the derived
presetfield; preset selection is reconstructed from the actual appearance, rendering, and compositing settings. - Removed the remaining storage reads, writes, and fixture data for those redundant compatibility markers.
- Breaking: removed all backward-compatibility migrations now that the install base is small. Storage schema advances to version 6 as a clean baseline; existing records are read through the current schema without migration.
- Removed the legacy synced
disabledSitesmerge and its settings-page cleanup card, along with the related localization strings. Only local site rules are read. - Removed the effect-parameter schema 0/1 migrations; saved parameters on retired paths (for example
bloom.scatter,rootDurationMs) are dropped instead of being rewritten, and incoming future schema versions are normalized to the current one. - Removed the compositing-contract backfill migration and the
transparent-overlaycompatibility branch; unrecognized values fall back to defaults. - Removed the deprecated
MediaQueryList.addListenerfallback and dead code (expandFxParams,mergeFxParams), shrinking the bundled content script.
- Upgraded
ba-click-fxfrom1.2.29to1.3.1. - Removed the Legacy rendering mode profile and its options-page entry, following upstream's removal of Legacy rendering. Saved
renderModevalues oflegacynow fall back to the defaultfull-webgl2; the Soft and Power-saving appearance presets usenative-bloom, which keeps the Canvas2D + native glow backend combination. - Effect-parameter defaults are now single-valued per parameter; the per-mode default machinery was removed along with upstream's mode defaults.
- Theme color mapping follows the new upstream default
relative-oklch, preserving chroma and perceived lightness instead of shifting hue only.
- Upgraded
ba-click-fxfrom1.2.24to1.2.29, inheriting its fullscreen Canvas geometry and mobile pointer/touch lifecycle fixes. The extension keeps its explicit preset DPR values and the upstream effect-parameter Schema remains at version 2 with 66 parameters.
- Upgraded
ba-click-fxfrom1.2.23to1.2.24(patch-level upstream update).
- Added a Light background effect preset using Full WebGL2, browser-overlay output, legacy visual-maximum Alpha, no color compensation, an
0.85Alpha limit, Source-over host compositing, and the extension's implicit unknown-background reference.
- Upgraded
ba-click-fxfrom1.2.21to1.2.23; the extension now follows the versioned Schema 2 with 66 public effect parameters, including theshards.roundnesscontrol. - Unified the toolbar popup and Full settings around one Effect preset selector. The duplicated visible quality selector and its underlying storage field were removed; render mode and DPR are now the single rendering source of truth.
- Renamed the default visible preset from Classic to Close to original without changing its compatible
classicstorage identifier. - Effect preset state is now derived from the actual appearance, render, DPR, and compositing values, so partial sync updates cannot leave a stale preset label.
- Upgraded
ba-click-fxfrom1.2.20to1.2.21, inheriting its WebGPU Extended Surface pause/resume and stale output-state cleanup. The public Schema, extension defaults, DOM Add contract, and settings surface remain unchanged; the upstream demo-only CSS HDR UI is intentionally not bundled.
- Upgraded
ba-click-fxfrom1.2.7to1.2.20and adopted its versioned 65-parameter Schema, complete WebGPU backend, HDR output status, host-surface capability contract, atomic parameter patch API, mode-specific reset baselines, and compositing-reference fixes. - Browser-overlay host compositing now exposes the upstream
screenoption for light or changing web backgrounds, and new or missing configurations default to this DOM Add combination without replacing stored user choices. - Full settings now derives its initial state, reset values, advanced-parameter baselines, and store preview from the extension defaults; controls ignored by DOM Add are disabled until a compatible compositing mode is selected.
- Full settings now includes experimental WebGPU HDR rendering and all six Extended-output calibration controls while retaining Full WebGL2 as the extension default. The HDR defaults use the core runtime baseline rather than the upstream demo presets.
- Full settings now includes full WebGL2 rendering, output and isolated compositing, light-background contrast, click/trail timing, and every public upstream effect parameter.
- Click and trail timing controls now expose the upstream minimum multiplier of
0.01. - Highest quality now requests Full WebGL2 and falls back directly to Canvas 2D native glow when unavailable; Software Bloom remains available only as an explicit Full-settings mode. Balanced remains Legacy and Advanced remains native glow.
- DOM Add now declares the core's host surface as caller-owned and applies the resolved
screenorplus-lightermode exactly once to the extension's outer fixed host. This lets the final layer group blend with the webpage instead of being isolated inside the host and composited back with an opaque-looking source-over result.
- Stored Schema 0 effect overrides migrate atomically to Schema 1; the removed
bloom.scatterpath is replaced by the currentbloom.diffusiondefault while rejected values remain reportable.
- Upgraded
ba-click-fxfrom1.2.6to1.2.7. - Highest quality now prefers WebGL2 Bloom and automatically falls back to software Bloom when WebGL2 is unavailable; Balanced remains Legacy and Advanced remains native glow.
- Full settings now exposes every effect control from the upstream demo: raw render mode, maximum DPR, rings, shards, Bloom, Hit/Flare, and trail parameters.
- Advanced effect overrides use a validated sparse sync record and are reapplied after render-mode changes.
- Matched untouched Classic effect parameters to the upstream demo: scale
1, opacity1, click and trail enabled, and continuous movement trail disabled. Existing custom choices remain unchanged. - Preserved Legacy-specific rendering while replaying user overrides and kept the native-glow trail calibration linked to the Bloom trail control.
- Added quality and language selectors to the toolbar popup so common preferences can be changed without opening Full settings.
- Added Balanced, Advanced, and Highest quality modes, mapped to Legacy, native glow, and software Bloom respectively.
- Upgraded
ba-click-fxfrom1.2.3to1.2.6and pinned the exact package version. - Let the core own its rendering canvases inside the extension's closed Shadow DOM, enabling the enhanced renderer's additive and light-background contrast layers.
- Updated the three appearance presets to use the new quality model; the Power-saving preset now uses Balanced rendering with its existing lower opacity and scale.
- Existing
balancedandhighvalues keep working. The removedperformancequality value safely falls back to Balanced.
- Upgraded
ba-click-fxfrom^1.2.1to^1.2.3(internal robustness improvements:structuredClonefor deep copies,setFxParamrange validation, instance-levelthemeHueShift,clearTrailno longer clears unrelated effects).
- Migrated from
ba-click-fxv1.1.x setter API to v1.2.x unified API:setColor(r,g,b)→setThemeColor(hex), five individual setters (setOpacity/setScale/setClick/setTrail/setTrailAlways) → batchupdateConfig(). - Simplified quality profiles to
maxDpronly;trailRenderScale,minRenderScale, andmaxBackingPixelsremoved as the upstream no longer supports them. - Removed dead code:
getRenderOptions,hexToRgb,MAX_BACKING_PIXELS. - Constructor now passes
scale,opacity,clickEnabled,trailEnabled,trailAlways, andmaxDprdirectly instead of the removedrenderoption.
- All user-facing features preserved: click effects, cursor trails, hover trails (
trailAlways), per-site disable, quality tiers. ba-click-fxv1.2.x is a required upgrade; v1.1.x is no longer supported.
- Dedicated Firefox Manifest V3 build with a stable Gecko ID and an explicit no-data-collection declaration for AMO.
- Deterministic Firefox submission ZIP, reviewer-rebuildable Firefox source ZIP, and combined SHA-256 inventory.
web-extlint as a zero-warning Firefox release gate.- Firefox runtime checklist, AMO listing copy, privacy answers, permission explanations, reviewer notes, and manual submission instructions.
- Refreshed English and Simplified Chinese store screenshots for the current popup, site control, and full settings page.
- Split the shared Manifest from small Chromium and Firefox target overlays while retaining one content, popup, options, storage, and localization codebase.
- Extended CI, release validation, and GitHub Release assets to cover Chromium, Firefox, and Firefox source packages.
- Standardized local development, CI, Release, and AMO source rebuild instructions on Node.js 24 LTS.
- Set Firefox Desktop 140 and Firefox for Android 142 as the declared minimum versions required by Mozilla's built-in data collection permission manifest field. The prepared AMO listing targets Firefox Desktop only.
- User settings remain on storage schema v2, and the popup/content message protocol remains v2.
- Chromium permissions, host matches, minimum Chrome/Edge version, bundled core
ba-click-fx 1.1.11, and visible runtime behavior are unchanged.
- Dedicated options page for appearance presets, quality, language, motion preferences, local website-rule management, privacy, support, and project links.
- Classic, Soft, and Power-saving appearance presets with an explicit Custom state.
- System, Simplified Chinese, and English interface-language choices.
- System, full-motion, and reduced-motion choices; reduced motion preserves click effects while suppressing the continuous moving trail.
- Storage schema v2 migration, local site-rule search/removal/clear controls, and an explicit legacy synced-rule cleanup action.
- Version/tag/changelog validation for GitHub releases.
- Upgraded
ba-click-fxfrom1.1.6to1.1.11. - Replaced private upstream state and trail workarounds with the public trail lifecycle API.
- Replaced estimated DPR limiting with the core package's total backing-store pixel budget.
- Moved explicitly disabled website origins from
storage.synctostorage.local; visual preferences remain in browser-provided sync storage. - Simplified the popup around global, current-site, click, trail, preview, and full-settings actions.
- Added structured content-script readiness and update status reporting.
- Stopped tracking generated
distfiles; CI and Release workflows now build and upload artifacts. - Raised the development runtime requirement to Node.js 22.
- Existing synced website rules are merged into local storage idempotently on first v1.0.5 use.
- The old synced copy is retained to protect other devices that have not updated. Users may remove it explicitly from the options page after every device has upgraded.
v1.0.4was intentionally skipped; its planned reliability and release improvements are included inv1.0.5.
- English and Simplified Chinese extension localization.
- Store submission copy, reviewer notes, privacy disclosures, and release checklist.
- Public privacy policy, support links, and store URL inventory.
- Chrome/Edge promotional assets and localized screenshots.
- Cross-platform Chromium ZIP packaging and store-asset validation.
- Upgraded
ba-click-fxto1.1.6. - Added an in-product disclosure for site-specific origin storage.
- Changed the default locale to Simplified Chinese; non-Chinese browser languages use English and detection failures fall back to Chinese.
- Added a project-repository link to the extension popup.
- Upgraded
ba-click-fxto1.1.5. - Published the first tagged Chromium release.
- Manifest V3 content script with click rings, particles, and cursor trails.
- Global and per-site controls.
- Color, opacity, scale, and quality settings.
- Closed Shadow DOM Canvas isolation and background-tab resource release.
- UTF-8 BOM and LF validation for project text files.