Changelog

Every AnimateGL release, newest first. Version 1.5.0 also introduces AnimateGL Pro. The free plugin updates from WordPress.org, and Pro updates from your WordPress dashboard.

1.5.0

  • Improvement: The Fade animation (all directions, and the Default animation) is drawn with CSS instead of WebGL. It looks the same, starts sooner, keeps text exactly as the page shows it, and works with modern CSS colors. Add the class agl-webgl to an element to keep WebGL
  • Fix: WebGL animations of an element in a grid or flex layout jumped to another size when they ended
  • Improvement: Faster pages with only CSS animations: the WebGL part of the runtime (js/lib/animategl.webgl.min.js) now loads only on pages with a WebGL animation
  • Improvement: WebGL animations use far less graphics memory (shared render targets, drawn at most at 2x pixel density), stop drawing when nothing moves, recover from a lost WebGL context, and let go of animated elements removed from the page
  • Improvement: WebGL animations start sooner on pages with several of them: elements with the same effects share one compiled shader program
  • Fix: An element removed from the page in the middle of its WebGL entrance, and put back before it ended, stayed hidden until then
  • Improvement: WebGL animations keep working when an optimization plugin (WP Rocket, LiteSpeed Cache, Autoptimize and others) moves, renames or combines the AnimateGL script, and an element whose WebGL part can’t load is shown without the effect
  • Improvement: Add-on presets (Entrance Pack, Fade Pack) work whichever order the scripts load in, also when an optimization plugin moves them, and are listed once
  • Fix: The agl-animation-start event was missing for an entrance whose first frame came after its end (short durations on slow devices)
  • New: Preview animation button in the block editor plays the selected block’s animation
  • New: Picking an animation or a direction in the block editor plays it right away
  • New: AnimateGL controls in the block toolbar of image blocks, whose sidebar opens on the Content tab, and of blocks inside locked patterns and block theme templates, where the sidebar hides the AnimateGL panel
  • Improvement: Block editor panel: the animation list is grouped into CSS and WebGL (and My animations), “Default” is now “Site default” and shows only the controls that apply to it, the fade variants have readable names, the direction list is left out when there is one, and the controls use the current WordPress size
  • New: Respects the reduced motion accessibility setting
  • New: Content stays visible without JavaScript, and when the animation script can’t load
  • New: Readable source of every script is included in the plugin
  • New: NOTICES.md lists the third-party libraries and their licences, and each script names the ones it includes
  • Improvement: Scripts load deferred, in the footer
  • Improvement: Block editor controls rebuilt with current WordPress tooling, and fully translatable
  • Improvement: Animation classes no longer replace a block’s other classes in the editor
  • Improvement: The text domain is now animategl, so translations from translate.wordpress.org apply
  • Improvement: Updated the Freemius SDK to 2.13.4
  • Developers: New hooks for add-ons: animategl_block_attributes, animategl_block_classes, animategl_runtime_dependencies, animategl_elementor_controls, animategl_elementor_classes, animategl_admin_tabs and animategl_admin_tab_content in PHP; animategl.classes and animategl.panel in the block editor. Presets added by add-ons can set their type (CSS or WebGL) and, in agl.defaults.in.names, mark themselves custom (no directions). In the runtime: AnimateGL.play(element) and AnimateGL.reset(element), the agl-manual class for elements that wait for play(), the agl-animation-start and agl-animation-end events, AnimateGL.registerEffect(name, { init, render }) for effects that run while the page scrolls, picked with the class agl-scroll-<name>, and AnimateGL.registerHoverEffect(name, { init, render }) for effects that run while the mouse is over an element, picked with agl-hover-<name>; its render gets the mouse position, eased velocity (vx, vy, speed) and time (AnimateGL.touchHover = true makes a finger on a touch screen count as the mouse). Both can pass a shader (GLSL chunks and uniforms), which is added only to the elements that use the effect. The class agl-in-none makes an image an AnimateGL element with no entrance, so it can have scroll and hover effects without an animation. The animategl_show_addons_tab filter hides the Addons tab. Preview in the block editor also loads scripts added through animategl_runtime_dependencies
  • Fix: Animated elements inside content added after the page loads (sliders, AJAX loaders, infinite scroll) now animate, not only ones added on their own
  • Fix: An image cropped to its block (for example with an aspect ratio set, or object-fit: cover) was drawn stretched during a WebGL animation, then jumped to its real crop when the animation ended
  • Fix: Elements with rounded corners (border-radius) were drawn with square corners during a WebGL animation
  • Fix: Hover and scroll effects from add-ons showed an image with a WebGL fade entrance slightly faded
  • Fix: Text with a WebGL animation could be drawn too low and cut off at the bottom while it animated, on themes that style images as blocks
  • Fix: Blocks with modern CSS colours (color-mix(), oklch(), lab()), such as separators and post dates in Twenty Twenty-Five or tables in Ollie, showed without their WebGL animation
  • Fix: A pullquote or table block with a WebGL animation stayed hidden, and could stop later blocks on the page from animating
  • Fix: Images and translation files of the Freemius SDK were damaged in the plugin package
  • Security: The AnimateGL page and its settings require the manage_options capability, and saved settings are validated
  • Security: Elementor animation settings are validated before they’re added to the page
  • Change: Requires WordPress 6.6 and PHP 7.4

1.4.25

  • Fix: Block editor didn’t load on WordPress 7.1 (“Cannot read properties of null (reading ‘appendChild’)” in animategl.min.js)
  • Fix: Animated blocks were invisible in the block editor
  • Fix: Dynamic blocks failed with “Invalid parameter(s): attributes”, and didn’t animate on the front end
  • Fix: PHP warnings and editor errors with Elementor 3.26 and later
  • Fix: An element with a WebGL animation could stay hidden if the WebGL renderer failed to load
  • Change: Animations no longer play inside the block editor, only on the front end. Running them in the editor made it crash on WordPress 7.1.
  • Tested with WordPress 7.1

1.4.24

  • Security: Only administrators can save AnimateGL settings. The settings AJAX action no longer accepts requests from logged-out users and checks the manage_options capability.

1.4.23

  • Fix: CSS animation repeat

1.4.22

  • Fix: WebGL animation not working before scroll

1.4.21

  • Improvement: Performance improvements

1.4.20

  • Improvement: Performance improvements

1.4.19

  • Improvement: Better performance for Lock to scrollbar animations

1.4.18

  • Fix: Updated Freemius SDK to 2.5.10 to fix a vulnerability in Freemius SDK <= 2.5.9

1.4.17

  • Fix: Increasing viewport height in Safari

1.4.16

  • Improvement: Faster WebGL animation loading time

1.4.15

  • Improvement: Admin page Animation editor
  • Improvement: Element entrance animation trigger changed to 70% or 200px of element is in viewport

1.4.14

  • Fix: Cache busting for scripts

1.4.13

  • Fix: Animations not working on front end

1.4.12

  • Improvement: Play entrance animation when 70% of element enters the viewport
  • Improvement: WebGL Zoom In animation
  • New: WebGL Zoom Out animation

1.4.11

  • Fix: Animations of elements with background-attachment: fixed

1.4.10

  • Improvement: WebGL flip animations.

1.4.9

  • New: Presets in Animation Editor.
  • Fix: Animation editor bugs.
  • Improvement: WebGL stretch, bend, fade animations.

1.4.8

  • New: Animation Distance option.
  • Improvement: WebGL Fade animations.
  • Improvement: Reset animation direction when animation name changes.

1.4.7

  • Fix: WebGL Fade shader.
  • New: Support for Entrance Fade pack.

1.4.6

  • Improvement: Admin page Entrance Presets sorted by type.
  • Fix: CSS animations Fade and Slide.

1.4.5

  • Fix: Progress in Animation editor not working.
  • New: CSS animation type in Animation editor.

1.4.4

  • Improvement: Added tabs Support and Addons to Admin page.

1.4.3

  • Improvement: Playing only selected animation in plugin admin page, Entrance Presets.
  • Fix: Animations on plugin admin page, Entrance Presets broken after using animation editor.

1.4.2

  • Fix: Animation cannot be added to inner section in Elementor.
  • Improvement: Better animation performance.
  • Improvement: New plugin admin page.

1.4.1

  • Fix: Wrong element position when repeating entrance animation.
  • Fix: Element in Elementor editor becomes invisible after it is clicked.
  • Fix: Default option missing in entrance animation name dropdown.

1.4

  • New: Entrance animation “lock to scrollbar” – animation progress depends on the scroll position.
  • New: Entrance animation “repeat” – play entrance animation each time element enters the viewport.
  • Improvement: Better animation performance.

1.3.9

  • Fix: Wipe animation.
  • New: Getting Started admin page.
  • New: Add-ons admin page.

1.3.8

  • New: Added support for more entrance animations via addons.

1.3.7

  • Improvement: Added more easing options for animations.
  • Fix: Image flashing at the end of WebGL animation.

1.3.6

  • Fix: Image scaling inside WebGL animated element.

1.3.5

  • Fix: Animating parent and child elements at the same time.

1.3.4

  • Improvement: Faster loading, better animation performance.
  • Improvement: Faster admin page with animation preview.

1.3.3

  • New: Wipe CSS animation.
  • New: Slide CSS animation.

1.3.2

  • Fix: Entrance animation now starts when element enters the viewport, instead of waiting for center of the element to enter the viewport.
  • Fix: Hardware accelerated CSS animations.
  • New: Default (center) direction for animations.

1.3.1

  • New: Zoom In and Zoom Out CSS animations.

1.3

  • New: Fade In CSS animation.

1.0.0

  • Initial release of the plugin.