Skip to content

Releases: cursor-js/cursor.js

@cursor.js/core@0.8.0

18 May 15:28
43c3745

Choose a tag to compare

Minor Changes

  • a96913a: feat: let core plugins use an optional floating provider

    SayPlugin and PromptPlugin can now resolve their positioners from an installed
    floating plugin provider while keeping the existing built-in positioning
    behavior when no provider is present.

  • d2b6e93: feat: add customizable positioners for SayPlugin and PromptPlugin

    SayPlugin and PromptPlugin now support custom positioners for advanced popup placement while keeping a dependency-free default behavior.

  • 6c33516: feat: add built-in ThemePlugin cursor factories

    ThemePlugin now exposes built-in configurable cursor factories via ThemePlugin.cursors.default(), pointer(), and text(), and the default theme is sourced from those factories.

Patch Changes

  • 85bb178: fix: correct the built-in pointer cursor hotspot

    The built-in ThemePlugin pointer cursor now uses the intended hotspot offset so clicks and hover states align with the visible tip.

  • 55278f5: fix: clean up speech plugin listeners when toggling docs demo plugins

    SpeechPlugin now unsubscribes from speech_requested when removed so repeated toggles do not stack duplicate speech handlers. The docs settings demo also keeps mutually exclusive speech and interaction plugin variants in sync.

@cursor.js/core@0.5.0

23 Apr 00:05
460c651

Choose a tag to compare

Minor Changes

  • 8f8eb9b: - feat: Implemented ThemePlugin for automatic cursor theme switching.
    • feat(core): Reset hover state and trigger mouseleave when the cursor moves away.
  • a92032b: Added dynamic plugin enable/disable toggle capabilities and options configuration for Cursor demo page, along with dynamically reactive updates in RipplePlugin for settings.

@cursor.js/core@0.4.0

16 Apr 13:29
eea2f9e

Choose a tag to compare

Minor Changes

  • 6b9e045: feat(core): introduce .setState() and onStateChange for dynamic plugin responsiveness

    Added the .setState() method to the Cursor queue and introduced the onStateChange lifecycle hook in CursorPlugin. This allows state changes (like cursor size or colors) to be sequenced properly and enables plugins (like RipplePlugin) to dynamically react to state modifications mid-animation.

@cursor.js/core@0.3.0

16 Apr 11:50
de8361d

Choose a tag to compare

Minor Changes

  • 8c72e97: feat(plugin): add configurable RipplePlugin to create a ripple visual effect on click

@cursor.js/core@0.2.0

16 Apr 10:37
f8dfe39

Choose a tag to compare

Minor Changes

  • 1be3725: Added flow control functionality with pause(), stop(), next(), and waitForEvent() methods to Cursor.js for seamlessly pausing and resuming action queues.
  • 159d697: Added .if(), .do(), and .until() methods for robust sub-queue flow control. This prevents deadlocks and enables automated UI synchronization inside chains (like waiting for carousels or checking input values before typing).

@cursor.js/core@0.1.0

15 Apr 13:27

Choose a tag to compare

Minor Changes

  • 46247a0: Added setSize and teleportation move methods to the Cursor class to allow programmatic scaling and absolute positioning. Updated GhostCursor to support scale via CSS transform.
  • b4c96d9: refactor(core): introduce modular plugin architecture with hooks and custom sound support
  • 3e1f5aa: Extract the built-in showIndicator feature into a standalone IndicatorPlugin.

Patch Changes

  • 43be629: refactor: move demo code to apps/docs and clean up style.css