Skip to content

@atomiks atomiks released this Nov 3, 2019 · 6 commits to master since this release


  • core: filter out duplicate plugins (#626)
  • core: revert distance technique to use top/left properties (#628)
  • inlinePositioning: works with .show() method (#630)
  • types: refactor interfaces to generics, strict types for custom plugins, function overloading types for tippy and delegate
Assets 2

@atomiks atomiks released this Oct 22, 2019 · 37 commits to master since this release


  • Allow plugins passed as Props.plugins


  • Deprecate createTippyWithPlugins() - use tippy.setDefaultProps({plugins: [...]});
Assets 2

@atomiks atomiks released this Oct 21, 2019 · 41 commits to master since this release


  • core: Fix onWindowBlur condition
  • core: Fix iife versions' addons not having plugins passed by default
  • followCursor: Allow .show() / .hide() to work
  • types: Handle null in delay/duration arrays
Assets 2

@atomiks atomiks released this Oct 14, 2019 · 55 commits to master since this release


  • core: Reduce impact of .tippy-iOS class side effects
  • core: Improve support for nested tippies (CSS fixes + account for nested interactiveBorders)
  • core: hideAll() works on <iframe>s
  • props: distance should accept strings
  • css: Switch to consistent px units
  • warnings: Tweak invalid prop warning
  • warnings: Tweak arrowType warning
  • warnings: Fix target warning link
Assets 2

@atomiks atomiks released this Oct 6, 2019 · 82 commits to master since this release


  • core: Only set transition duration to 0 upon show if not currently mounted (for createSingleton early cancelation)
  • core: Plugin hooks for onShow and onHide invoked before props'
  • core: Change distance technique to use padding on popper instead of top/left on tooltip
  • css: Improve consistency of vars and units
  • addons: Add support for plugins
  • delegate: Account for data-tippy-trigger attribute
  • createSingleton: Fix missing argument in onAfterUpdate to preserveInvocation()
  • perf: Optimize data-tippy-* attribute reducer
  • warnings: Add link to accessibility docs for interactive warning and improve clarity
Assets 2

@atomiks atomiks released this Oct 1, 2019 · 104 commits to master since this release


  • core: Add support for iframes: atomiks/tippy.js-react#121
  • core: Use .currentTarget over .target
  • core: Clear pending timeouts on destroy
  • followCursor: Use rAF instead of setTimeout to avoid rare jitter on content update
  • followCursor: reset popperInstance reference onHidden
  • warnings: Ensure links end with trailing slash
  • types: Add missing type for createTippyWithPlugins
Assets 2

@atomiks atomiks released this Sep 28, 2019 · 116 commits to master since this release

View migration guide from v4 to v5


  1. Improve developer experience with warnings without bloating production bundle size
  2. Reduce core size and make the library more tree-shakable
  3. Allow new feature additions to be added separately without increasing bundle size (addons & plugins system)
  4. Improve naming consistency and usage


🌳 Core size has decreased

The library is now tree-shakable, allowing you to import and use only the parts you need.

  • ⬇️ 30%+ smaller download size
  • ⬇️ 50%+ smaller parse size
  • ⬇️ 60%+ smaller core CSS + smaller external animation files

👷 Better developer experience

There is now a DEV-only messaging system to help you when things go wrong.

🔥 Animation improvements

There is a new /animations folder (like /themes) and creating custom animations is a smoother experience. Additionally, there is new documentation about fully dynamic transitions of a tippy element's dimensions, and work is being done to create an official API for it.

🤩 Plenty of new features

  • New touch: ["hold", delay] prop (for long press behavior)
  • New arrow: string | SVGElement values to use your own shape
  • New createSingleton addon, supersedes group() for smooth transitions
  • New sticky behavior to check reference or popper rects (or both)
  • New inlinePositioning prop supports better inline element positioning (further behavior options to come)

🔌 Plugins API

Allows you to extend functionality of tippy instances and create your own props.

♿ Improved accessibility out of the box

Interactive tippies are now accessible by default, and DEV warnings will let you know if there is an accessibility problem.

🐞 Subtle behavioral bugs fixed and improvements made

  • animateFill: true is no longer default, so the shape cut off issue is not present with large content unless you intentionally use it
  • hideOnClick uses mousedown instead of click
  • Calling .disable() will hide an instance if it's currently visible
  • Updating content while hovering over an interactive element will not break the mouseleave to hide it
  • For instances with a delay, if the tippy began to transitioning out and the instance was triggered again before unmounting, it will ignore the delay
  • Window blur listener will only blur references whose tippy is not visible upon blur
  • If using multiple tippys on a single element, screenreaders will now announce all of them
  • In touch and keyboard contexts, delay is always 0


Package Managers:

# npm
npm i tippy.js@5

# Yarn
yarn add tippy.js@5


<script src=""></script>
<script src=""></script>
Assets 2

@atomiks atomiks released this Aug 1, 2019 · 121 commits to master since this release


  • Optimize sticky option by preventing repaints on every animation frame
  • Place injected style node before the first style or link tag instead of first child
  • Reduce CSS size slightly
  • Fix leak with document click listener not being removed if tippy was hidden before it was shown when using delay
  • Fix #532: Add referenceNode property for followCursor (NOTE: awaiting popper.js@1.16.0 release)
Assets 2
Jun 13, 2019

@atomiks atomiks released this Jun 4, 2019 · 133 commits to master since this release


  • Fix followCursor having incorrect offset when using a variation placement (-start or -end) (#513)
Assets 2
You can’t perform that action at this time.