Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@tsparticles/slim

tsparticles265.7kMIT3.7.1TypeScript support: included

Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.

front-end, frontend, tsparticles, particles.js, particlesjs, particles, particle, canvas, jsparticles, xparticles, particles-js, particles-bg, particles-bg-vue, particles-ts, particles.ts, react-particles-js, react-particles.js, react-particles, react, reactjs, vue-particles, ngx-particles, angular-particles, particleground, vue, vuejs, preact, preactjs, jquery, angularjs, angular, typescript, javascript, animation, web, html5, web-design, webdesign, css, html, css3, animated, background, confetti, canvas, fireworks, fireworks-js, confetti-js, confettijs, fireworksjs, canvas-confetti

readme

banner

tsParticles - TypeScript Particles

A lightweight TypeScript library for creating particles. Dependency free (*), browser ready and compatible with React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Riot.js, Solid.js, and Web Components

GitHub Sponsors jsDelivr hits (npm) Cdnjs npm npm lerna CodeFactor Codacy Badge Rate this package Gitpod Ready-to-Code Run on Repl.it

Discord Telegram Reddit

tsParticles Product Hunt Buy Me A Coffee


Table of Contents


Do you want to use it on your website?

Documentation and Development references here 📖

This library is available on two of the most popular CDNs and it's easy and ready to use, if you were using particles.js it's even easier.

You'll find the instructions below, with all the links you need, and don't be scared by TypeScript, it's just the source language.

The output files are just JavaScript. 🤩

CDNs and npm have all the sources you need in Javascript, a bundle browser ready (tsparticles.engine.min.js), and all files splitted for import syntax.

If you are interested there are some simple instructions just below to guide you to migrate from the old particles.js library.

Library installation

Hosting / CDN

Please use these hosts or your own to load tsParticles on your projects

jsDelivr

jsDelivr jsDelivr jsDelivr jsDelivr jsDelivr jsDelivr jsDelivr

cdnjs

Cdnjs

unpkg

https://unpkg.com/@tsparticles/confetti/ https://unpkg.com/@tsparticles/engine/ https://unpkg.com/@tsparticles/fireworks/ https://unpkg.com/@tsparticles/basic/ https://unpkg.com/@tsparticles/slim/ https://unpkg.com/tsparticles/ https://unpkg.com/@tsparticles/all/


npm

tsParticles Confetti

npm npmjs

tsParticles Engine

npm npmjs

tsParticles Fireworks

npm npmjs

tsParticles Basic

npm npmjs

tsParticles Slim

npm npmjs

tsParticles

npm npmjs

tsParticles All

npm npmjs

npm install @tsparticles/engine

yarn

yarn add @tsparticles/engine

pnpm

pnpm install @tsparticles/engine

Import and require

const tsParticles = require("@tsparticles/engine");

// or

import { tsParticles } from "@tsparticles/engine";

The imported tsParticles is the same instance you have when including the script in the page using the <script> tag.


Usage

Load tsParticles and configure the particles:

tsParticles demo tsParticles Confetti demo

index.html

<div id="tsparticles"></div>

<script src="tsparticles.engine.min.js"></script>

app.js

// @path-json can be an object or an array, the first will be loaded directly, and the object from the array will be randomly selected
/* tsParticles.load(@params); */

tsParticles
    .load({
        id: "tsparticles",
        url: "presets/default.json",
    })
    .then(container => {
        console.log("callback - tsparticles config loaded");
    })
    .catch(error => {
        console.error(error);
    });

//or

tsParticles.load({
    id: "tsparticles",
    options: {
        /* options here */
    },
});

//or

tsParticles.load({
    id: "tsparticles",
    options: [
        {
            /* options here */
        },
        {
            /* other options here */
        },
    ],
});
//random object

tsParticles.load({
    id: "tsparticles",
    options: [
        {
            /* options here */
        },
        {
            /* other options here */
        },
    ],
    index: 1,
}); //the second one
// Important! If the index is not in range 0...<array.length, the index will be ignored.

// after initialization this can be used.

/* tsParticles.setOnClickHandler(@callback); */

/* this will be fired from all particles loaded */

tsParticles.setOnClickHandler((event, particles) => {
    /* custom on click handler */
});

// now you can control the animations too, it's possible to pause and resume the animations
// these methods don't change the config so you're safe with all your configurations
// domItem(0) returns the first tsParticles instance loaded in the dom
const particles = tsParticles.domItem(0);

// play will start the animations, if the move is not enabled it won't enable it, it just updates the frame
particles.play();

// pause will stop the animations
particles.pause();

Official components for some of the most used frameworks

Angular

@tsparticles/angular

npm npm

Instructions available here

Astro

astro-particles

npm npm

Instructions available here

Ember.js

ember-tsparticles

npm npm

Instructions available here

Inferno

inferno-particles

npm npm

Instructions available here

jQuery

jquery-particles

npm npm

Instructions available here

Preact

preact-particles

npm npm

Instructions available here

ReactJS

@tsparticles/react

npm npm

Instructions available here

RiotJS

riot-particles

npm npm

You can find the instructions here

SolidJS

solid-particles

npm npm

You can find the instructions here

Svelte

@tsparticles/svelte

npm npm downloads

Instructions available here

VueJS 2.x

@tsparticles/vue2

npm npm

Instructions available here

VueJS 3.x

@tsparticles/vue3

npm npm

Instruction available here

Web Components

web-particles

npm npm

You can find the instructions here

WordPress

@tsparticles/wordpress

npm npm WordPress Plugin Downloads WordPress Plugin Active Installs

The plugin page hosted on WordPress.org can be found here

Elementor

Actually, an official tsParticles plugin isn't existing, but I have a collaboration with the Premium Addons for Elementor plugin collection.

Premium Addons for Elementor
Premium Addons for Elementor is one of the most common plugins for Elementor that offers more than 55 highly customizable Elementor Widgets and Section Add-ons. tsParticles is exclusively included in Premium Particles Section Add-on for Elementor Page Builder. Check It Now.
Use Premium Addons for Elementor Page Builder and get the chance to include tsParticles in your next WordPress website without the need to write a single line of code. See a Live Example.

Presets

There are some presets ready to be used in this repository, and they also have a bundle file that contains everything needed to run.

Big Circles

jsDelivr npmjs npmjs

This preset loads big colored circles moving upwards on a white background.

demo

You can find the instructions here

Bubbles

jsDelivr npmjs npmjs

This preset loads colored bubbles coming from the bottom of the screen on a white background.

demo

You can find the instructions here

Confetti

jsDelivr npmjs npmjs

This preset loads white and red confetti launched from the screen center on a transparent background.

demo

You can find the instructions here

Fire

jsDelivr npmjs npmjs

This preset loads a faded red to a black background with particles colored like fire and ash sparks.

demo

You can find the instructions here

Firefly

jsDelivr npmjs npmjs

This preset loads a mouse trail made with small fading particles like little fireflies.

demo

You can find the instructions here

Fireworks

jsDelivr npmjs npmjs

This preset loads a beautiful fireworks effect.

demo

You can find the instructions here

Fountain

jsDelivr npmjs npmjs

demo

You can find the instructions here

jsDelivr npmjs npmjs

demo

You can find the instructions here

Sea Anemone

jsDelivr npmjs npmjs

demo

You can find the instructions here

Snow

jsDelivr npmjs npmjs

demo

You can find the instructions here

Stars

jsDelivr npmjs npmjs

demo

You can find the instructions here

Triangles

jsDelivr npmjs npmjs

demo

You can find the instructions here


Templates and Resources

You can find some tsParticles related templates here. The templates are created for Vanilla Javascript, ReactJS, VueJS, Angular, SvelteJS, and other frameworks.

The templates will vary, new ones can be created or older ones updated with the latest features or changed to a better style. Check them out once in a while.

If you created some good design with tsParticles feel free to submit a pull request with your cool template, you'll be credited as the template author!

https://github.com/tsparticles/templates


Demo / Generator

https://particles.js.org/samples

Particles demo


Video Tutorials

You can find all video tutorials on the website here: https://particles.js.org/video.html

More videos are coming soon! Check every day if there are some new contents.


Characters as particles

Particles chars demo


Polygon mask

tsParticles Polygon Mask demo


Animated stars

Particles NASA demo


Nyan cat flying on scrolling stars

Particles Nyan Cat demo


Snow particles

tsParticles Snow demo


Background Mask particles

tsParticles Background Mask demo


particles.json

You can find some config samples here 📖


Options

You can find all options available here 📖

Want to see it in action and try it?

I've created a tsParticles collection on CodePen 😮 or you can check out my profile

Otherwise, there's the demo page link below.

tsParticles demo

Want to see even more demos? Clone the repository on your computer and follow these instructions

$ pnpm i
$ pnpm run build
$ cd demo/vanilla
$ pnpm start

Boom! 💥 http://localhost:3000 and you can check out other demos.

If you are brave enough you can switch to the dev branch for trying the features under development.


Migrating from Particles.js

tsParticles has a package that makes this library 100% compatible with the particles.js configuration.

jsDelivr npmjs npm

Seriously, you just need to change the script from particles.js to the bundled compatibility package, et-voilà, you're ready 🧙!

You can read more here

Want to know 5 reasons to do the switch? Read here

Below you can find all the information you need to install tsParticles and its new syntax.


Plugins/Customizations

tsParticles now supports some customizations 🥳.

You can create your own plugins

Read more [here](https://particles.js.org/docs/modules/CoreInterfaces_IPlugin.html)..._


Dependency Graph

flowchart TD

  subgraph core [Core]
    engine[tsParticles Engine]
    perlin-noise[Perlin Noise Lib]
    simplex-noise[Simplex Noise Lib]
    configs[tsParticles Configs]
  end

  subgraph bundle-basic [tsParticles Basic]

    subgraph basic-movers [Movers]
      move-base[Base]
    end

    subgraph basic-shapes [Shapes]
      shape-circle[Circle]
    end

    subgraph basic-updates [Updaters]
      updater-color[Color]
      updater-opacity[Opacity]
      updater-out-modes[Out Modes]
      updater-size[Size]
    end

  end

  engine --> bundle-basic

  subgraph bundle-confetti [tsParticles Confetti]

    subgraph confetti-plugins [Plugins]
      plugin-emitters
      plugin-motion
    end

    subgraph confetti-shapes [Shapes]
      shape-cards
      shape-emoji
      shape-heart
      shape-image
      shape-polygon
      shape-square
      shape-star
    end

    subgraph confetti-updaters [Updaters]
      updater-life
      updater-roll
      updater-rotate
      updater-tilt
      updater-wobble
    end

  end

  bundle-basic --> bundle-confetti

  subgraph bundle-slim [tsParticles Slim]

    subgraph slim-interactions [Interactions]

      subgraph slim-interactions-external [Externals]
        interaction-external-attract[Attract]
        interaction-external-bounce[Bounce]
        interaction-external-bubble[Bubble]
        interaction-external-connect[Connect]
        interaction-external-grab[Grab]
        interaction-external-pause[Pause]
        interaction-external-push[Push]
        interaction-external-remove[Remove]
        interaction-external-repulse[Repulse]
        interaction-external-slow[Slow]
      end

      subgraph slim-interactions-particles [Particles]
        interaction-particles-attract[Attract]
        interaction-particles-collisions[Collisions]
        interaction-particles-links[Links]
      end

    end

    subgraph slim-movers [Movers]
      move-parallax[Parallax]
    end

    subgraph slim-plugins [Plugins]

      subgraph slim-plugins-easings [Easings]
        plugin-easing-quad[Quad]
      end

    end

    subgraph slim-shapes [Shapes]
      shape-emoji[Emoji]
      shape-image[Image]
      shape-line[Line]
      shape-polygon[Polygon]
      shape-square[Square]
      shape-star[Star]
    end

    subgraph slim-updaters [Updaters]
      updater-life[Life]
      updater-rotate[Rotate]
      updater-stroke-color[Stroke Color]
    end

  end

  bundle-basic --> bundle-slim

  subgraph bundle-fireworks [tsParticles Fireworks]

    subgraph fireworks-effects [Effects]
      effect-trail
    end

    subgraph fireworks-plugins [Plugins]
      plugin-emitters

      subgraph fireworks-plugin-emitters-shapes [Emitters Shapes]
        plugin-emitters-shape-square
      end

      plugin-sounds
    end

    subgraph fireworks-updaters [Updaters]
      updater-destroy
      updater-life
      updater-rotate
    end

  end

  bundle-basic --> bundle-fireworks

  subgraph bundle-full [tsParticles]

    subgraph full-interactions [Interactions]

      subgraph full-interactions-external [Externals]
        interaction-external-trail[Trail]
      end

    end

    subgraph full-plugins [Plugins]
      plugin-absorbers[Absorbers]
      plugin-emitters[Emitters]

      subgraph full-plugin-emitters-shapes [Emitters Shapes]
        plugin-emitters-shape-circle[Circle]
        plugin-emitters-shape-square[Square]
      end

    end

    subgraph full-shapes [Shapes]
      shape-text[Text]
    end

    subgraph full-updaters [Updaters]
      updater-destroy[Destroy]
      updater-roll[Roll]
      updater-tilt[Tilt]
      updater-twinkle[Twinkle]
      updater-wobble[Wobble]
    end

  end

  bundle-slim --> bundle-full

  subgraph bundle-all [tsParticles All]

    bundle-pjs[tsParticles Particles.js Compatibility]

    subgraph all-effects [Effects]
      effect-bubble[Bubble]
      effect-trail[Trail]
    end

    subgraph all-interactions [Interactions]
      subgraph all-interactions-external [External]
        interaction-external-particle[Particle]
        interaction-external-pop[Pop]
      end

      interaction-light[Light]

      subgraph all-interactions-particles [Particles]
        interaction-particles-repulse[Repulse]
      end
    end

    subgraph all-paths [Paths]
      path-curl-noise[Curl Noise]
      path-curves[Curves]
      path-perlin-noise[Perlin Noise]
      path-polygon[Polygon]
      path-simplex-noise[Simplex Noise]
      path-svg[SVG]
    end

    subgraph all-plugins [Plugins]
      plugin-canvas-mask[Canvas Mask]

      subgraph all-plugins-easings [Easings]
        plugin-easing-back[Back]
        plugin-easing-circ[Circ]
        plugin-easing-cubic[Cubic]
        plugin-easing-expo[Expo]
        plugin-easing-linear[Linear]
        plugin-easing-quart[Quart]
        plugin-easing-quint[Quint]
        plugin-easing-sine[Sine]
      end

      subgraph all-plugin-emitters-shapes [Emitters Shapes]
        plugin-emitters-shape-canvas[Canvas]
        plugin-emitters-shape-path[Path]
        plugin-emitters-shape-polygon[Polygon]
      end

      subgraph all-plugins-exports [Exports]
        plugin-export-image[Image]
        plugin-export-json[JSON]
        plugin-export-video[Video]
      end

      plugin-hsv-color[HSV Color]
      plugin-infection[Infection]
      plugin-motion[Motion]
      plugin-poisson-disc[Poisson Disc]
      plugin-polygon-mask[Polygon Mask]
      plugin-sounds[Sounds]
    end

    subgraph all-shapes [Shapes]
      shape-arrow[Arrow]
      shape-cards[Cards]
      shape-cog[Cog]
      shape-heart[Heart]
      shape-path[Path]
      shape-rounded-polygon[Rounded Polygon]
      shape-rounded-rect[Rounded Rect]
      shape-spiral[Spiral]
    end

    subgraph all-updaters [Updaters]
      updater-gradient[Gradient]
      updater-orbit[Orbit]
    end

    simplex-noise --> path-curl-noise
    perlin-noise --> path-perlin-noise
    simplex-noise --> path-simplex-noise

  end

  bundle-full --> bundle-all

JetBrains JetBrains

Sponsors

JetBrains

Huge thanks to JetBrains for the 2020-2022 Open Source Licenses!

JetBrains WebStorm is used to maintain this project.

changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

3.8.1 (2025-01-31)

Bug Fixes

  • fixed z-index style when fullScreen is active, closes #5458 (5e94ca4)

3.8.0 (2025-01-23)

Bug Fixes

  • fixed clone style, closes #5443 (2127236)
  • fixed imports and constants (caaf603)
  • fixed style reparation and full screen toggle issues (3e4a03a)
  • improved spin initial positioning (43edbbf)
  • improved style duplication (55a8425)

3.7.3 (2024-12-13)

Bug Fixes

3.7.2 (2024-11-26)

Bug Fixes

3.7.1 (2024-11-24)

Bug Fixes

  • fix resize issues introduced in 3.7.0 with the new size variable (41b507f)
  • fixed resize issue in canvas (e7c816c)

3.7.0 (2024-11-24)

Bug Fixes

  • fixed issue in Firefox that caused the canvas to expand each frame (628a05d)

Features

  • added new named color plugin, and hex color in the engine (c4db774)

3.6.0 (2024-11-18)

Bug Fixes

Features

  • added isNull function, more secure checks (891e2a2)
  • first try of oklch color, fixes #5409 (5822e72)
  • fixed oklch color, added lch color too, fixes #5409 (d604691)

3.6.0-beta.1 (2024-10-13)

Bug Fixes

  • fixed fireworks new method, was missing a thing (3e693e7)
  • fixed fireworks new method, was missing a thing, updated docs too (28333fa)

Features

  • added .create function to fireworks library, like confetti, to use a custom canvas (d4e072e)

3.6.0-beta.0 (2024-10-07)

Bug Fixes

  • fixed issue with out modes (85ba20f)
  • fixed issue with removing particles when group is active, fixes #5352 (af57352)

Features

  • added padding options to emoji shape, fixes #5402 (2a2638f)

3.6.0 (2024-10-07)

Bug Fixes

  • fixed issue with out modes (85ba20f)
  • fixed issue with removing particles when group is active, fixes #5352 (af57352)

Features

  • added padding options to emoji shape, fixes #5402 (2a2638f)

3.5.0 (2024-07-01)

Features

  • added customization for animation loop, fixes #5355 (76d9dfd)

3.4.0 (2024-05-12)

Bug Fixes

Features

  • added infinity shape (935368b)
  • changed bundles loading method, no more preloading plugins (13b00a0)

3.3.0 (2024-02-27)

Bug Fixes

  • fixed issues in Chrome with async rAF function, reduced async methods for vite builds (2600f6f)

3.2.2 (2024-02-20)

Bug Fixes

  • fixed circular deps detection and other issues with dynamic imports (b6ed5d3)

3.2.1 (2024-01-31)

Note: Version bump only for package @tsparticles/workspace

3.2.0 (2024-01-31)

Bug Fixes

Features

  • added background mask image support (0b30b1c)
  • added new particle external interaction (f51ce7f)
  • added some dynamic imports, plugins will be loaded only if used (6dab9e9)
  • improving dynamic imports (bb4bc91)
  • improving dynamic imports (5a89f53)
  • improving dynamic imports (f05c2ee)
  • improving dynamic imports (f9f450d)
  • improving dynamic imports (c592b29)
  • improving dynamic imports (0224706)
  • improving dynamic imports (f01a44b)
  • improving dynamic imports (7674ee3)

3.1.0 (2024-01-13)

Bug Fixes

  • fixed memory allocation of emoji shape (3d84380)
  • fixed sounds in fireworks bundle (ed77e79)
  • improved support for element id (54a1683)

Features

  • added mute/unmute functions to sound plugin for an easier control of the volume (b2169ef)
  • added new options for sounds plugin, autoPlay and icons.enable (cfc6ab8)
  • added new zig-zag path (48bc5d1)
  • added poisson disc plugin for better particles initial positions (405f1df)
  • improved first pointerdown/touchstart event listener for better autoplay (34db125)

3.0.3 (2023-12-26)

Bug Fixes

  • used element id when present and fixed emoji memory management (1990bbc)

3.0.2 (2023-12-06)

Bug Fixes

3.0.1 (2023-12-06)

Bug Fixes

  • fixed bug when using particles groups (d8b840d)

3.0.0 (2023-12-04)

Bug Fixes

  • fixed new trail with rotated or tilted particles (a43f809)

Features

  • added clear flag, enabled by default, if disabled, the canvas won't be cleared (299784c)
  • added fade to trail effect (17750ea)

3.0.0-beta.5 (2023-12-03)

Features

  • added new emoji shape, better performance than text shape (868ee4d)

3.0.0-beta.4 (2023-11-16)

Bug Fixes

  • fixed color animation issue, regression introduced with a previous commit (b6a423d)
  • fixed emitters canvas shape (863f8ab)

Features

  • add more options for customizing noises values (cbc620c)
  • added curl noise path plugin (3d40e98)
  • added flat options to tsparticles-confetti options (dff6c75)
  • added trail effect plugin (af69e9f)
  • removed multiline text shape, implemented in standard text shape (d48d911)

3.0.0-beta.3 (2023-09-20)

Note: Version bump only for package @tsparticles/workspace

3.0.0-beta.2 (2023-09-11)

Bug Fixes

  • fixed issue with particle destroy (86d2f8f)

3.0.0-beta.1 (2023-08-25)

Features

  • supporting the npm exports option correctly (bdfaca8)

3.0.0-beta.0 (2023-08-24)

Bug Fixes

  • deps: update dependency eslint-config-prettier to v9 (e6e2ba7)

2.12.0 (2023-08-03)

Bug Fixes

  • fix issue with change theme when an existing canvas is used (2c4c7cd)
  • fix issue with change theme when an existing canvas is used (a349b97)
  • fixed issue with some plugins that were drawn before the canvas clear (4cff7e6)
  • fixed light interaction, particle shadow wasn't calculated correctly (da86a37)
  • fixed memory leak in destroyed particles by updaters, the z array wasn't filtered (272bb47), closes #5101
  • fixed out mode bounce (aafaa08)
  • fixed out modes, bounce was not checking the direction of the update request (e2b2c94)
  • fixed pool on particles destroyed by updaters (1f62e29)

Features

  • added range values to life duration and delay of emitters (18bc70d)
  • added two new bundles: basic and all (489f591)

2.11.1 (2023-07-24)

Bug Fixes

  • fixed various plugins issues for a misplaced canvas clear (dd98147)

2.11.0 (2023-07-12)

Bug Fixes

Features

  • added animated gif support to image drawer (c65f451)
  • added refresh flag for loading plugins, this will prevent multiple refresh of the instance (9d999d6)
  • added setLogger and getLogger functions, this will prevent console.log mistakenly left (38de76c)
  • added tree shaking (86806a6)
  • added video export plugin (527eb6f)
  • adding export plugins (4c1b5a6)
  • created rounded polygon shape (abee4dc)
  • export plugins completed, image and json (149b77d)
  • fixed export plugins (775e7bd)
  • improved new export function, using blob as output for all functions (df1c862)
  • improved new export function, using blob as output for all functions (3521561)

2.10.1 (2023-06-04)

Note: Version bump only for package tsparticles-workspace

2.10.0 (2023-06-03)

Bug Fixes

  • absobers and emitters plugin now will add some custom methods to Container (e9effc8)
  • absorbers and emitters can have partial positions, the other coordinate will be randomized (7525481)
  • added browserslist to fix some issues with older browsers (24d8f52)
  • added missing export (a2ce9df)
  • added missing shapes to confetti bundle (b299012), closes #4905
  • added pixel ratio to shape drawers and fixed particle stroke width (2245dd0)
  • added try catch in pathseg polyfill, fixes #2264 (6b849f2)
  • added valid string values to option enum properties, fixes #508 (b6328cf)
  • adds set method to main tsParticles instance. Closes #515 (669ad24)
  • angular demo improved (1c1ec4b)
  • autostart feature fixed (bed7824)
  • background mask opacity (efac691)
  • brought v2 changes to absorbers (cbad5c2)
  • changed click handler, now moved to Container class but kept compatibility (c89e571)
  • changed pauseOnOutsideViewport to be false by default (8a6f79d)
  • check if all triangles vertices have link triangles enabled (9956660)
  • confetti fixed oval rotation (6cb99a3)
  • correct links to docs from readme (47c32c8)
  • debounce window resize, check if #1587 is fixed (0045346)
  • deps: pin dependencies (23be870)
  • deps: pin dependencies (3dac0d0)
  • deps: update all (d9f0ff2)
  • deps: update angular monorepo to ~13.1.0 (1f80f2b)
  • deps: update angular monorepo to ~13.2.0 (9467d48)
  • deps: update angular monorepo to ~13.2.0 (fa858b8)
  • deps: update angular monorepo to ~13.3.0 (6aa9b81)
  • deps: update angular monorepo to ~13.3.0 (71e7a23)
  • deps: update angular monorepo to ~14.1.0 (284f4fc)
  • deps: update angular monorepo to ~14.2.0 (a95f5e4)
  • deps: update angular monorepo to v12.2.2 (e4b6928)
  • deps: update angular monorepo to v14 (c620315)
  • deps: update angular monorepo to v15 (7f07d5c)
  • deps: update capacitor monorepo (57a478c)
  • deps: update capacitor monorepo (405fb46)
  • deps: update capacitor monorepo (eaeea3b)
  • deps: update capacitor monorepo (f501b7e)
  • deps: update capacitor monorepo (5bf40c2)
  • deps: update capacitor monorepo (628db0f)
  • deps: update capacitor monorepo to v4 (a63d3a0)
  • deps: update dependency @capacitor/app to v1.1.1 (0c14c5f)
  • deps: update dependency @capacitor/app to v1.1.1 (97901cd)
  • deps: update dependency @capacitor/app to v1.1.1 (bd69e38)
  • deps: update dependency @capacitor/core to v3.4.2 (aa44c98)
  • deps: update dependency @capacitor/core to v3.4.2 (b488e20)
  • deps: update dependency @capacitor/core to v3.4.3 (392a949)
  • deps: update dependency @capacitor/core to v3.5.0 (581bb7e)
  • deps: update dependency @ionic/angular to v6 (b20503f)
  • deps: update dependency fs-extra to v11 (e82352a)
  • deps: update dependency gh-pages to v4 (cf6e957)
  • deps: update dependency inferno to v8 (f4f0419)
  • deps: update dependency jsdom to v21 (85a816a)
  • deps: update dependency jsdom to v22 (5f8737a)
  • deps: update dependency minify to v10 (eb16db3)
  • deps: update dependency minify to v8 (e2ffbec)
  • deps: update dependency minify to v8 (3b7d7d0)
  • deps: update dependency minify to v9 (a12fb3e)
  • deps: update dependency next to v12.2.4 [security] (8ac6931)
  • deps: update dependency preact-router to v4 (c80c3a3)
  • deps: update dependency preact-router to v4 (46d8edb)
  • deps: update dependency rimraf to v4.4.1 (370d1ca)
  • deps: update dependency rimraf to v5 (c29cbc4)
  • deps: update dependency rimraf to v5.0.1 (6627473)
  • deps: update dependency riot to v7 (116fa3f)
  • deps: update dependency rxjs to ~7.4.0 (048238b)
  • deps: update dependency rxjs to ~7.5.0 (f2d0505)
  • deps: update dependency rxjs to ~7.6.0 (250ef9c)
  • deps: update dependency rxjs to ~7.8.0 (0345e0b)
  • deps: update dependency rxjs to v7 (0b09194)
  • deps: update dependency sirv-cli to v2 (176dc1d)
  • deps: update dependency zone.js to ~0.12.0 (eb78579)
  • deps: update react monorepo to v18 (3f6aa46)
  • deps: update react monorepo to v18 (79e531d)
  • deps: update react monorepo to v18 (4a434e6)
  • deps: update react monorepo to v18.1.0 (6b45793)
  • do not load particles on the Node.js side and make its loading cancellable (6711708)
  • editor fixed with new color refactoring (b09a5c8)
  • emitter duration fixed (0a3b0cb)
  • emitter play/pause were not working fine from container (f7faf7b)
  • emitters uses the main loop, so they pause/play with the same particles logic (a58c4de)
  • fix an import and a return (22a5a98)
  • fix linker plugin issue (b9505e2)
  • fix linker plugin issue (54ed421)
  • fix options loading issue in absorbers and emitters (6afaf3e)
  • fix preact component update (1c023d7)
  • fix responsive screen size (6d5cdd7)
  • fixed #1587 (1b8e75b)
  • fixed #1683 (36d2073), closes #1682
  • fixed #618 (aa6fe99)
  • fixed angular demo (16a219b)
  • fixed angular readme, closes #2297 (5f51b87)
  • fixed backcolor when undefined (d237d30)
  • fixed background mode canvas reset (f78252a)
  • fixed bigCircle info (4a7b9e3)
  • fixed bounce for #739 (738a16f)
  • fixed bounce on rectangular divs (593c021)
  • fixed broken movement in 1.31 (6787035)
  • fixed bug #748 and a rotate path issue (a8dad54)
  • fixed bug for non existing interactivity object on mouse finish (7ebb73d)
  • fixed bug for particles with radius <= 0 (b0481ab)
  • fixed canvas mask plugin size output with new multiline support (9b00acc)
  • fixed class attributes on solid component (639680a)
  • fixed click handler with touch events (ad4bf8a)
  • fixed click handler, it wasn't working fine (fd9873b)
  • fixed click handler, it wasn't working fine (f0a8170)
  • fixed code duplication in links plugin (cb384cf)
  • fixed confetti preset (e3ff29f)
  • fixed confetti preset (408c35e)
  • fixed confetti preset, added roll options (d49b572)
  • fixed confetti shape (a6fbc72)
  • fixed connect links options (5eb3186)
  • fixed container duration, using it as seconds instead of milliseconds (ba05eec)
  • fixed container refresh (9e0c71e)
  • fixed correctly both #4031 and #4385 (6b57b69)
  • fixed deletion when surpassing limit and z index is enabled (80cb9ce)
  • fixed demos (ac11cab)
  • fixed double mouse events on mobile using pointer events, closes #4622 (1019fa4)
  • fixed editor (d78892e)
  • fixed editor for v2.2 (ae41163)
  • fixed editor issue with particles bounce factors (093080d)
  • fixed editor issue with particles bounce factors (202890d)
  • fixed editor issue with particles bounce factors (e809e7d)
  • fixed editor issue with particles bounce factors (c14f41c)
  • fixed editor issues (ff3fdd3)
  • fixed editor properties, missing themes for now (8598460)
  • fixed emitter issue on first start, closes #3074 (79fe654)
  • fixed emitters after 1.24.0 (5693fdb)
  • fixed emitters issues (c9d9a51)
  • fixed export configuration method of container (f7c3c7f)
  • fixed exports of engine (f8a676b)
  • fixed fire preset using the new density values (94c1648)
  • fixed fireworks presets (3402e46)
  • fixed flashing issue with background mask, closes #3514 (6f74bf1)
  • fixed flashing issue with resize (4e44c8e)
  • fixed frozen frames (more than 1 seconds), this will fix the issue with pause on blur (5a933c1)
  • fixed gravity on retina displays and an issue with inverse gravity (54c28d1)
  • fixed ICoordinates types (3d6fa2d)
  • fixed image drawer when refreshing the container (8625dd1)
  • fixed images shape options (8964fe6)
  • fixed infection plugin (901b9ce)
  • fixed install script for Node 8.x, fixes #966 (3870cea)
  • fixed issue #1594 (7ce7081)
  • fixed issue on container guard check, fixes #4679 (953767d)
  • fixed issue with 0 positions on x and y with emitters (63e8a11)
  • fixed issue with animation random size, multiplying again the pixel ratio (3e89c7b)
  • fixed issue with canvas resize (4c72a96)
  • fixed issue with collisions, fixes #2586, fixes #2380 (204cb8d)
  • fixed issue with destroyed containers, fixes #4385, fixes #4413, fixes #4534 (4d22425), closes #4532
  • fixed issue with detectsOn with non "window" values, fixes #4606 (91f7890)
  • fixed issue with dynamic imports and async loading (b7f444b)
  • fixed issue with emitters and themes, they weren't applied correctly (3a9dcae)
  • fixed issue with initial window resize (f863bdc)
  • fixed issue with match media query, fixed #84 (again) (7784898)
  • fixed issue with new bounce active conditions (9be2b73)
  • fixed issue with new resize checks (0cce40c)
  • fixed issue with non-generated canvas elements, closes #4228 (297e974)
  • fixed issue with opacity and svg with color replaced, closes #4532 (9119b61)
  • fixed issue with particles rotated randomically without a rotate config (fe1b0f7)
  • fixed issue with path generators (29644fc)
  • fixed issue with polygon mask bounce on edges (3d9f1f5)
  • fixed issue with reduce duplicates flag, fixes #4805 (1d3fe78)
  • fixed issue with rgb(), hsl() and hsv() values (de63545)
  • fixed issue with size and opacity range (84e9c16)
  • fixed issue with size and opacity updaters (f81e228)
  • fixed issue with stroke options loading (9633356)
  • fixed issue with themes/responsive options and canvas background (c43fc96)
  • fixed issues with absorbers and emitters plugins Container extension methods (ce196be)
  • fixed issues with links colors and themes, fixes #4841 (34b570d)
  • fixed issues with moveSpeed 0 (6c9dd6e)
  • fixed issues with svelte 3.41.0 (113c1c9)
  • fixed jquery component (c1b01fd)
  • fixed life duration/delay sync options (2db867c)
  • fixed line shape (5c1c612)
  • fixed links broken with a previous commit, updated object-gui (24b2872)
  • fixed missing plugins in wordpress component (093460b)
  • fixed more enum typings (cc5e52d)
  • fixed more enum typings (eed6c1f)
  • fixed more enum typings (ae6501c)
  • fixed move decay type, it should be ranged (113b6c0)
  • fixed movement with broken values, fixes #1477 (59bb585)
  • fixed multiline text shape and relative demo (18ebe89)
  • fixed new multiple particles feature and particle destroy method (aee6eff)
  • fixed older typescript version (8665193)
  • fixed other animations with reduced motion (4ba8dfd)
  • fixed other shapes, multiline text had the same text bug (3b6e7fc)
  • fixed out mode when particles are moved outside the canvas bounds, closes #4247 (c54e2c6)
  • fixed out of canvas out mode (1f17c60)
  • fixed out of canvas/bounce code mess (28d16c0)
  • fixed overlapping issues (442777c)
  • fixed package.json typos (5c0cb15)
  • fixed package.json, the wrong ts version was specified (b88c6c0)
  • fixed parent interactivity mode (38a37f2)
  • fixed particle options override without shape type (26e5fec)
  • fixed particles attract mode (180148d)
  • fixed particles for latest changes (2491c10)
  • fixed particles number limit (7708f92)
  • fixed path rotation with noise setting, path rotation now ignores rotate animation (554fef1)
  • fixed pause on blur (a7bd28f)
  • fixed plugin loading for absorbers and emitters (5c5a9f5)
  • fixed polygon path generator (146afb6)
  • fixed polygon path options (4eac27c)
  • fixed preact build (c636136)
  • fixed preact definitions to fix #1003 (778f556)
  • fixed prefers reduced motion query (6a39ff4)
  • fixed priority on canvas styles (3cc3d97)
  • fixed random color (a9ff25a)
  • fixed react-tsparticles typescript template (04a4d10)
  • fixed React/Preact/Inferno component properties/state definition, closes #922 (6da46b2)
  • fixed replace svg color after new changes (15e452f)
  • fixed restoring canvas when not generated after full screen set, closes #4291 (28acc87)
  • fixed roll and tilt updaters (d4a7df3)
  • fixed rotate following path (cd7ed78)
  • fixed rotation animation issues (3641ff4)
  • fixed rounded rect shape (a5b844a)
  • fixed some components init functions, they must be async (0541dfa)
  • fixed some exports and comments (389d82c)
  • fixed some plugins, they weren't loading correctly the options (00053b4)
  • fixed some readmes (93f371a)
  • fixed some regex, added support for rgba/hsla/hsva string values with alpha % (84b31fe)
  • fixed spiral shape using pixel ratio (e651ed0)
  • fixed start types for size and opacity (0696018)
  • fixed start value for size and opacity, previous fix wasn't good enough (fce05fb)
  • fixed svelte component, reverted to an older svelte version for now, closes #1924 (80a88be)
  • fixed svelte componente, it was having issues with TypeScript syntax inside (1a4b01d)
  • fixed svelte typings, closes #4131 (27f1bdb)
  • fixed text drawer particle init (8092a39)
  • fixed themes (95d5596)
  • fixed tilt back/front colors (657585f)
  • fixed type of particlesLoaded in particles.vue3, thanks to #3129 by @zzhenryquezz (0ad7b70)
  • fixed typings for tsParticles load methods (847bbbe)
  • fixed typings in onDiv configuration, the DivType accepts also valid string values now (164da18)
  • fixed typings in onDiv configuration, the DivType accepts also valid string values now (a4aa0a3)
  • fixed typo in fireworks bundle exported types (bf5b88a)
  • fixed volume images position (54c1b7d)
  • fixed window resize fired during the initialization (ffdc255)
  • fixed wobble updater (cd13fca)
  • fixed wordpress plugin (73118cc)
  • fixes #2241 (b5802df)
  • fixes #2329 (1982442)
  • fixes #508, some values were excluded (f0cb970)
  • fixes #700 (3383b2b)
  • fixes #831 (3d17b4a)
  • fixes #837 (9baf5b4)
  • fixes #996 (b886cd6), closes #947
  • fixes build scripts, closes #3909, closes #3911 (d2c3fb3)
  • fixes issue with responsive not refreshing when changing options (f54cefa)
  • fixes some dynamic import issues (8ba2415)
  • fixes triangles issues described in #930, still not implemented the color animation (18f82d5)
  • handling "mid" value in links colors (0698d04)
  • image shape fixed (cdfbd35)
  • improved angular component id management (2d8c67b)
  • improved component and updated README (9cf98cc)
  • improved container guard check before doing stuff (ebca38e)
  • improved container reset (e4996d0)
  • improved image mask plugin code, making it reusable for text or generic canvas (579e8d8)
  • improved images loading (2690f4a)
  • improved new methods without id (9b7a106)
  • improved out modes and spin movement (1c811cf)
  • improved shapes with full delta object (04430ba)
  • improved snow preset, added a small wobble effect (7802f55)
  • improved some linker updater code (e29de1a)
  • improved svg replace color (eb45226)
  • improving container destruction (c4ebce6)
  • jquery plugin improvements (fd89b64)
  • jquery plugin improvements (25024e1)
  • links fixed (4656901)
  • links won't link non-existing particles (078c7f9)
  • main demo, fixed spiral shape sample (bb09062)
  • make it possible to use a canvas element (cf5a667)
  • manual particles optional position, now they can be random positioned with custom options (0f67407)
  • mouse events works a lot better when interactivity element is not canvas (b39ec4f)
  • moved gradients classes to gradient updater, lighter engine (e08d09f)
  • moved some specific code to the relative project, removing it from the generic engine (09fe635)
  • moving canvas.clear closer to drawn breaks grab links, and maybe other interactions (9b70b78)
  • opacity and size clamped, this should fix #1001 (013039e)
  • options interfaces don't have load function anymore (62cfc82)
  • particles could result misplaced at the beginning, this is now fixed (eae0937)
  • readme: fix error 404 links (21bd331)
  • reduced and fixed some out of canvas duplicate code (a6bfb7b)
  • reframed a sentence (463173e)
  • removed all browser flags in package.json, a lot of issues with it. closes #3094 (1415875)
  • removed an old console.dir, fixes #1412 (0cb8708)
  • removed bad check when retrieving color range value (27a0778)
  • removed circular imports (98b2d80)
  • removed console log (7f7ad63)
  • removed deprecated options (fc1676d)
  • removed useless check (edb272e)
  • removed useless console.log (debug purposes) (93835e7)
  • removed useless variable (88d2927)
  • replaceColor on SVG images, refactor previous fix, fixes #1519 (f04af8e)
  • replaceColor option on image particle, fixes #1519 (4a19da9)
  • simplified confetti preset (81db6ed)
  • small improvements to links interaction (f722b22)
  • small improvements to links interaction (4ce54d2)
  • solved performance drop issue after refresh, closes #2809, #2815, #2936 (286c3e8)
  • svelte-particles updated, fixes #621 (0bfe74c)
  • trying fixing issue #4151 (83e3e06)
  • typo in readme for react-tsparticles (478460c)
  • updated all mermaid charts in the readme files, closes #4763 (eac8139)
  • updated all plugins to use new build system, improves imports compatibility (0d75d97)
  • updated property to params to options (bb6b287)
  • upgrade @angular/common from 13.3.1 to 13.3.2 (aa4ea55)
  • upgrade core-js from 3.16.2 to 3.20.3 (ca703e5)
  • upgrade core-js from 3.17.3 to 3.20.1 (bb54ae4)
  • upgrade core-js from 3.21.0 to 3.21.1 (c405f3b)
  • upgrade fs-extra from 10.0.0 to 10.0.1 (35e46c6)
  • upgrade highlight.js from 11.2.0 to 11.4.0 (112a342)
  • upgrade highlight.js from 11.4.0 to 11.5.0 (59243fe)
  • upgrade inferno from 7.4.9 to 7.4.11 (29f7229)
  • upgrade inferno from 8.0.0 to 8.0.1 (a62c06a)
  • upgrade minify from 8.0.3 to 8.0.4 (f91828c)
  • upgrade multiple dependencies with Snyk (796d33c)
  • upgrade multiple dependencies with Snyk (d0726ef)
  • upgrade multiple dependencies with Snyk (0667f67)
  • upgrade multiple dependencies with Snyk (997ba11)
  • upgrade preact from 10.5.14 to 10.6.4 (0e83038)
  • upgrade preact from 10.6.5 to 10.6.6 (525d1b7)
  • upgrade preact from 10.8.1 to 10.8.2 (b66330b)
  • upgrade preact-render-to-string from 5.1.19 to 5.1.20 (1b85be0)
  • upgrade preact-render-to-string from 5.1.20 to 5.1.21 (f2fc2b9)
  • upgrade preact-router from 4.0.0 to 4.0.1 (c8740e1)
  • upgrade riot from 6.0.4 to 6.1.1 (9e22dbd)
  • upgrade riot from 6.1.1 to 6.1.2 (5eaa71c)
  • upgrade rxjs from 7.3.0 to 7.4.0 (5579eff)
  • upgrade rxjs from 7.3.0 to 7.5.2 (ac52db7)
  • upgrade rxjs from 7.4.0 to 7.5.1 (edf9c98)
  • upgrade rxjs from 7.5.4 to 7.5.5 (866f8a8)
  • upgrade sass from 1.38.0 to 1.49.9 (ff3f4fa)
  • upgrade sass from 1.51.0 to 1.52.0 (854882b)
  • upgrade sass from 1.52.3 to 1.53.0 (fb2ec98)
  • upgrade sirv-cli from 2.0.1 to 2.0.2 (70f74fe)
  • upgrade stringify-object from 4.0.0 to 4.0.1 (ffdcdff)
  • upgrade vue from 3.2.29 to 3.2.30 (5e13e9d)
  • upgrade vue from 3.2.4 to 3.2.26 (c9434b6)
  • upgrade zone.js from 0.10.3 to 0.11.1 (2f752ef)
  • used getRandom in canvas mask plugin for shuffling (0161280)
  • website: not loading font awesome script (81b95a7)
  • website: presets not scrollable in demos page (4fae0ea)
  • working on issues #1269 and #1256 (2fd1c5c)
  • working on issues #1269 and #1256 (ecd2170)

Code Refactoring

  • engine: changed all enums to const, smaller output size (9536087)

Features

  • add hsv color support (39ad40a)
  • add multiline text shape (c55a9d2)
  • added a configs package, this will contains all the presets used in demos (92fc41b)
  • added a first release of riot.js component (1b373bd)
  • added all files for supporting the smaller engine, preparing for v2 incoming changes (4d90c83)
  • added aria-hidden="true" to canvas element, fixes #4785 (8aaa038)
  • added arrow shape (09d962b)
  • added background mode to make the canvas acts like an animated background (d911467)
  • added bounce to mouse hover event (8bf39a2)
  • added cards to wordpress plugin (27ed9c3)
  • added collisions to fountain preset (3138f7f)
  • added color and colorOffset options to split options (74902b3)
  • added compatibility to marc bruederlin's archived particles.js (f4fa42b)
  • added confetti cannon preset (625eeff)
  • added cra-template-particles (915f6bc)
  • added cra-template-particles-typescript (05b5417)
  • added custom events (13fe1fe)
  • added decay options (not used yet) to animation objects (141e1b2)
  • added decay to all animations (954858e)
  • added delay to gradient animations (0bbc1fc)
  • added delay to root options, fixes #4766 (8f0c377)
  • added delta to path generators (910eda1)
  • added distance to move.attract options (e5da4c6)
  • added divs selector on interactivity events (831249f)
  • added domId property to Emitters options (9408d14)
  • added drift (numeric or min/max object) (87adda3)
  • added duration to options (d4c0a8d)
  • added easings to attract and repulse interactions (071f515)
  • added element options to canvas mask, for using an external created canvas (0770c13)
  • added error prefix to standardize error messages (f735252)
  • added event handler for svelte component (86a5e65)
  • added external presets to editor (ef06afc)
  • added feature from issue #797 (79197c9)
  • added filter option to sounds event, it's a function that checks if an event can play a sound (a0be41b)
  • added fireworks preset (0615bc1)
  • added font options to text mask (ddcfa6d)
  • added getEmitter and getAbsorber to plugin container (24c9f97)
  • added gradient angle animated rotation support (de8f0a4)
  • added gradient options for particles (c8ecec7)
  • added gravity and edge bounce customization (cfdfe53)
  • added HSV support (5083e08)
  • added image preload (b8072f6)
  • added init state to react, preact and inferno components (2fbc361)
  • added languages folder and file to wordpress plugin, fixes #4807 (ab12d1d)
  • added localization support to wordpress plugin, fixes #4807 (8a93b8a)
  • added loop options to sounds audio values (3f017b6)
  • added mass to particle, this will improve collisions (65779c9)
  • added max speed value to collisions options (6708716)
  • Added missing TypeDefinitions for TypeScript 4.4 (99c31c8)
  • added mode to more coordinates options (543cfab)
  • added more absorber size limit options (f2d0493)
  • added more easing types (5f8f1c4)
  • added more events to emitters and polygon mask (cea5ed6)
  • added motion options to editor (80a30a7)
  • added motion options to handle prefers-reduced-motion media query, fixes #888 (89a4ffb)
  • added movement speed affected by particles size (3a3d893)
  • added multiple emitters supported, instead of single or randomized (cf401aa)
  • added multiple melodies to melody for creating two handed melodies, für elise demo (b2ed85f)
  • added mutation observer to avoid style changes to the canvas when in fullscreen mode (65b33e2)
  • added new cards shape, containing all 4 suits (79c625e)
  • added new cog shape (03a0d86)
  • added new external shape rounded-rect, closes #1220 (a403902)
  • added new functions for loading options, this will be useful for removing all the classes (89501c5)
  • added new methods to particle class (5743453)
  • added new move direction: inside and outside, out modes needs more fixes (32a70a6)
  • added new opacity options to editor (f8bb792)
  • added new preset (f3c677a)
  • added new resize object to interactivity options, can change the debounce delay, fixes #4803 (c79cccc)
  • added new sections to editor (a16e164)
  • added new speed object for wobble effect (a450513)
  • added new split options to editor (d115feb)
  • added new tspRandom function and setRandom for customizing all the random behaviors (bd83a57)
  • added noise/path generator in plugins management (7599d90)
  • added option to pause the animation while the element is outside the viewport (e28a624)
  • added orbits as a plugin from v2, closes #188 (a78aaac), closes #609
  • added outside and inside movement to out modes (8d648e2)
  • added overlap options to collisions (62d43b9)
  • added particle back color used in roll options (497525a)
  • added particles loaded event to angular component (81400e8)
  • added particles options to trail interactivity options (c814550)
  • added particles pool for reusing destroyed particles (ee56851)
  • added pauseOnStop on trail hover mode (14cd117)
  • added polygon path plugin (623b62d)
  • added position options to canvas mask (8759b84)
  • added range colors to all color fields (1b6f32a)
  • added ranged values in stroke width and opacity properties (5d3806d)
  • added reset method to updaters (ad7a960)
  • added reset to path generators, this fixes issues with sea anemone and polygon path plugins (97830dc)
  • added resize observer, this will replace window.resize if available (4197f26)
  • added roll editor (4560212)
  • added roll options to particles, this is the latest missing feature to the confetti rework (98d9428)
  • added shape options to circle, added range values to polygon and star shape options (694e728)
  • added shapes and fill options to emitters (e8b32a3)
  • added sides count to particle to improve the shadow for the light over (d9110ef)
  • added sizeOffset option to destroy split section (a6b9ba0)
  • added smooth options, it ignores the fpsLimit trying to create a smoother animation* (5ad1a27)
  • added start count to emitters (5403426)
  • added style options (12045cd)
  • added support for multiline text in canvas mask text options (eceacbe)
  • added support for multiple shapes declared at once (463d099)
  • added support to text and generic canvas input to canvas mask plugin (c576656)
  • added tilt effect to particles, this was called wobble in previous commit (7eade2e)
  • added triangles frequency, but needs some work to be completed, started working on #691 (37e1c92)
  • added triangles preset (2a7aa6a)
  • added v1 plugins to slim and full bundle, fixed some stuff in pjs plugin (411ddce)
  • added Vector class taken from v2, this will be used wisely (14249aa)
  • added version to engine (9406873)
  • added volume buttons to sounds plugin (3c914c1)
  • added vue plugin for simpler usage (930a892)
  • added web component (d226304)
  • added wobble effect to particles, bringing confetti animations to all particles (4146eec)
  • adding new path plugin, using svg paths as a source (72316ec)
  • adding plugins to wordpress gutenberg block (dd340be)
  • adding SolidJS component (96677e7)
  • animation loop count for opacity and size (d38a0a3)
  • async presets (86f3038)
  • attract interaction improvements (a66769a)
  • auto themes (d80b78c)
  • base attraction class, just repulse with opposite sign (d39c20b)
  • bounce mode for divs, working only on squared divs but it's something (24aeb1e)
  • bounce mode is now working fine for circular divs too (b92ef32)
  • bubble color can now be mixed with the original one to have a smoother effect (df11d66)
  • by default motion is reduced when css motion reduction is enabled (fe4d59d)
  • changed angular and vue component name and syntax, changed version to 2.0.0 for breaking changes (58d58f9)
  • changed collision absorb code, added absorb.speed option to collisions section (346b5be)
  • changed despawn confetti action using opacity animation, was life duration, closes #4978 (6032aa9)
  • changed load interactivity options to load mode options and moved to external interactors only (697a155)
  • changed loadJSON with multiple configs and an optional index to select one of them (bdba2ef)
  • changed particles move distance to an horizontal/vertical object, single number still valid (a0b16ed)
  • changed particles.js compatibility with a new plugin (4b7c90b)
  • changed particlesInit on angular, is a property now and not an event (38f6219)
  • collisions between particles have now the bounce factor customizable (da68ce7)
  • completed #691, need to improve links and triangles performance (9d82c2c)
  • completed HSV support (0cf39d0)
  • confetti animations are now splitted in two generic particles sections (tilt, wobble) (b88afaf)
  • confetti shape, closes #605 (ae0dbd4)
  • containers now can have more than one path generator, each particle will keep its own (94f2985)
  • created and implemented move plugins (752483a)
  • created destroy updater, moved all particles destroy (split and similar) code from engine (f8642fd)
  • created gradient updater library, only colors for now (7d31c62)
  • created inferno component (ba2f150)
  • created motion plugin for handling motion sickness (c8b5b09)
  • created path shape (d46adbf)
  • created sounds plugin, no sounds yet, added only mute/unmute icon (5a5970d)
  • created vue3 component, closes #832 (e6430e9)
  • created wordpress plugin folder, working on it to create a tsParticles block (ac6de31)
  • creating confetti and fireworks bundles, easier use for these features (6a7af46)
  • emitter rate delay and quantity are now RangeValues so they can be randomized (2fb937a)
  • emitters and absorbers now can have a name in options (d2b731e)
  • emitters plugin adds play/pause emitters methods to container (closes #1184) (80eeed2)
  • emitters spawn color (f37fa01)
  • enabled full screen by default, window is now the default interacitivity target (e205e4c)
  • first attempt of repulse bounce back (8379f9c)
  • first round of vector on particles done (c76ce11)
  • first version of image mask plugin, needs refactoring but works (fd8a142)
  • fixed #739, added outModes instead of a single out mode, every edge now can be customized (67194dc)
  • fixed firefly and fireworks presets (ec952c9)
  • fixed fountain presets (3b47867)
  • fixed lazy loading (0f774ef)
  • fixed lazy loading (60f9689)
  • fixed links and triangles presets (fdd4d8b)
  • fixed links presets (9812393)
  • fixed new wait life emitter option (ae88774)
  • fixed sea anemone presets (0df846d)
  • fixed snow preset (38cba58)
  • fixed some editor outdated fields and added some new (30b4ac9)
  • fixed stars preset (04e7f4c)
  • found a good solution with good performance to fix #691 (08c37a5)
  • hsv color documentation (c63423d)
  • implemented decay options in opacity and size updaters (aace4cc)
  • implemented delay options in opacity, size and colors updaters (dfd4e9f)
  • improved density values, now is 1:1 with number on 1080 resolution with pixel ratio of 1 (3ff8fbf)
  • improved fireworks preset (cd23778)
  • improved image loading, now if an image is missing it will be loaded at runtime (5155bef)
  • improved image mask plugin options (af527bc)
  • improved move path generators (9b67377)
  • improving the path svg plugin (94c8e94)
  • improving the path svg plugin (8a830a2)
  • interactivity options overrides in particles options, closes #4120 (309afb5)
  • loading updater options in updaters instead of in the engine, started from wobble (85abd01)
  • loadJSON can accept also a string array and an optional index parameter (2ecd9f9)
  • manual particles, fixes #839 (4531b4a)
  • migrated to chunks (58b69c1)
  • more rangeable options (a2598c0)
  • mouse acts like a light source, closes #606 (84aad25)
  • mouse attract now have better speed values for click (3f5cb8e)
  • mouse attract now have better speed values for hover (8e10252)
  • moved absorbers to an external plugin, breaking (5e7223f)
  • moved all easings to plugin packages, slim now depends on easing-quad since it's the default (d4e4b8f)
  • moved all interactions in external packages, breaking (76c44df)
  • moved all plugins to external packages, breaking (a3edcec)
  • moved all shapes to external packages, breaking (77e4113)
  • moved emitter shapes to a plugin system, so they can be customized by users (5bec360)
  • moved gravity data from engine to base mover (ead8f6e)
  • moved hsv color management to external plugin since it's not commonly used (d2cf77b)
  • moved life options to life updater (ea85856)
  • moved links options out from engine (3d1dd68)
  • moved more code out from engine to specific plugins (ea70ea2)
  • moved more code out from engine to specific plugins (14d4887)
  • moved more code out from engine to specific plugins (e28e28d)
  • moved more code out from engine to specific plugins (eea8fee)
  • moved more code out from engine to specific plugins (9e00627)
  • moved more code out from engine to specific plugins (7cc8ee4)
  • moved more code out from engine to specific plugins (cf88d6e)
  • moved more code out from engine to specific plugins (336a940)
  • moved more code out from engine to specific plugins (bdd916b)
  • moved more code out from engine to specific plugins (9279a1b)
  • moved more code out from engine to specific plugins (b504a14)
  • moved more code out from engine to specific plugins, added new method to interactors (c3aab68)
  • moved orbit options to orbit updater package (8542054)
  • moved out all the external interactors from the engine (9d3c325)
  • moved out click interactions to external packages, breaking (466973d)
  • moved particles.js compatibility to another package (70404b7)
  • moved polygon mask to external plugin (breaking) (abdfe37)
  • moved roll options to orbit updater package (e70e482)
  • moved roll options to orbit updater package (521c784)
  • moved tilt options to orbit updater package (735b4b4)
  • moved twinkle options to twinkle updater package (d6389d4)
  • moving all updaters to external packages, breaking (94bdde6)
  • opacity animation options have now startValue and destroy like size animation options (9512a27)
  • optmize demo of vue3 (88664ef)
  • optmize demo of vue3 (6618f5d)
  • particle init on shape drawers (5d31dc1)
  • particle when destroyed can be splitted, closes #994 (f1522ec)
  • particle with move max distance are now good, closes #740 (e1453c7)
  • prepared confetti preset (d290ec1)
  • preparing attract mouse interaction mode (94bc3b3)
  • preparing react-particles and switching alternate packages (49e749e)
  • preparing simpler options for confetti preset (59d4963)
  • refactor click repulse, now it uses the same algorithm as the hover and div events (b552869)
  • refactored image mask plugin, closes #4492 (15c1191)
  • removed active from slow mode, it was obsolete, small breaking change but smaller engine (378bc65)
  • removed all canvas context save/restore calls (208722f)
  • removed dynamic import of the pathseg polyfill, used the standard one (c8ecc89)
  • removed some constants from engine that are relative only to polygon mask plugin (2920980)
  • removed support for very old browsers that don't support requestAnimationFrame (edf5f9d)
  • removing the id constraint, a random one will be generated (3b6b48e)
  • responsive options (f694555)
  • restored options compatibility with v1 and pjs, it's easier to migrate to v2 this way (78dd8cd)
  • restored particles.js compatibility (88b9dfe)
  • reworked image shape, now supports multiple colors in svg replace color, random value too (3173ebc)
  • reworked move.trail options, created an object with color and image, closes #4882 (b26505b)
  • reworking image shape for supporting multiple colors in svg replace color (c28bc85)
  • size, opacity and rotate particles options support now also min/max objects in value (c33e447)
  • some options refactoring (breaking) (eff3c17)
  • speed decay (1b7ec28)
  • spin movement enabled from v2 (240a38f)
  • splitting engine from slim and full bundles (v2) (268b78c)
  • stroke color animation (deabadd)
  • svelte component (1d0a0d5)
  • try adding particles options to trail interactivity options (d9b442b)
  • unified mouse click/hover attract animation. closes #504 (666c266)
  • unified mouse click/hover attract animation. closes #532 (043ddc3)
  • updated fpsLimit default value to 120 build: updated all presets to have a fpsLimit of 120 (d1eff05)
  • updated ng-particles to Angular 13 (802e290)
  • updated to angular 10.1 (rc) to support TS 4.0 (429cf89)
  • updated wordpress plugins list (e0e077a)
  • updating editor to Object GUI v2 (12ea540)
  • upgraded components (47060c2)
  • used particle id to reduce duplicates to to close #437 (7a3aef1)
  • working on issue #1269 and #1256 (8eba78b)
  • zIndex, closes #979 (09e4932)

Reverts

  • Revert "Update nodejs.yml" (dd1486c)
  • links and triangles frequency are rolled back, I didn't like the performances (4a6875c)

BREAKING CHANGES

  • engine: enums are not exported anymore, this could break javascript usages