Skip to main content

2.4 Release Notes

Release date: 7th May 2025

New Features

General

  • New Dependency Graph window providing an interactive schematic view or map of the connections within a Composition. Starter users can preview but not create or edit. This replaces the Flow Graph.
  • New Mesh Shape for deforming images/shapes by adding vertices to create a mesh.
  • A new Mesh tool for use with the Mesh Shape.
  • Third party plug-ins - developers can now create and distribute native Filters and Shaders.
  • Excel (.xlsx) file import including an option to choose sheets/tabs on the Spreadsheet Utility and Spreadsheet Lookup.

Behaviours

  • The Oscillator has been upgraded. New features include:
    • Seamless loops when used as deformer.
    • New Seconds and Minutes (BPM) Time Modes.
    • Create a custom Wave Type.

Legacy scenes will use the 'old' Oscillator for backwards compatibility. These can be manually replaced but note that feature parity is not guaranteed so some settings may need adjusting.

Effects

Shaders

  • New SLA Shader. Big thanks to David Farmer for contributing his SLA noise shaders in celebration of the life of Mark Coleran.

Filters

  • SkSL Filter. Write custom filters in SkSL ("Skia Shading Language").

Utilities

  • Camera Guide - Use a guide to drive a Camera's animation.
  • Apply Font Style Style Behaviour. Dynamically set text styling features like Underline, Strikethrough, Subscript and Superscript.
  • Seconds to Frames - Convert seconds to frames.

Scripting

Enhancements

  • Encrypted Scripts can now be run by Starter licences from the Scripts menu.
  • Several updates to the Color Window including:
    • Updated UI with tabs for palette types.
    • Re-orderable List view including swatch names. See notes below.
    • Paste Colors to swatches command.
    • Assign to Fill/Stroke in list view (without hotkeys).
    • Add swatches from selection command.
    • Select Layers with Color command.
    • Delete unused swatches from the Scene Palette.
  • Several updates to the Gradient widget including:
    • New full width UI.
    • Preview Jitter and Interpolation.
    • Reverse Gradient command.
    • Copy/Paste gradient commands.
  • The Viewport's 2D Grid has been updated:
    • New 'Swiss' grid type.
    • A Regular grid's origin can now be specified (e.g top left).
    • Creating non-uniform grids is now supported.
    • 2D Grids are now saved per Composition.
    • Grids can be copied and pasted.
  • The Text Shape now includes a Style attribute with options for applying Underline, Strikethrough, Subscript and Superscript styles to text.
  • Camera Views - Additional Viewports now include the option to select the view from different Cameras.
  • getAttributeDefinition now includes a default key.
  • The Shuffle String Manipulator has been updated offering more methods to shuffle strings.
  • New Size Progress Mode for the Auto-Crop Behaviour.
  • Percentage based Dash Patterns for Strokes.
  • The logic for drag/dropping swatches from Color Palettes onto Shapes in the Viewport has been improved.
  • The Show Composition Boundary Viewport option can now be set to a custom colour.
  • When Viewport Playback Caching is enabled, the Update the Viewport in Playback button is now dimmed.
  • Window sizes are now remembered when opening windows from the Window menu.
  • It's now possible to 'Run Snippet' from the JavaScript Editor.
  • The Text Shape now inherits its settings. For example, if the last interaction with a Text Shape set the Font to Arial and the Font Size to 100, the next Text Shape created will also match those settings.
  • It's now possible to mute an input connection.
  • New Skip Invisible Duplicates attribute for the Duplicator (Advanced tab)
  • It's now possible to copy/paste the Graph Widget.
  • The Assets from Smart Folder Utility now outputs file names when in Specific Index mode.
  • The Graph Editor's Transform tool now supports top, bottom and corner controls.
  • New Cycles attribute for the Noise Shader.
  • New Gamma attribute for the Noise Shader.
  • New Fit Cover option for the Image Shader's Scale Mode attribute.
  • New Missing Frames option for the Image Shader.
  • New right click > Reveal Composition in Assets Window option in the Scene Tree.
  • Spring loaded UI tabs. e.g. drag a Layer from the Scene Window into a docked Dependency Graph.
  • The JavaScript Window's Snippet panel now supports the new re-orderable list.
  • Alpha is now supported for gradient stops when a Stroke's Color Mode is set to Gradient.
  • The Blend Sub-Mesh Positions Behaviour now handles sub-meshes (Text/SVG). Note that this update required a new Layer – legacy Scenes will continue to work but we recommend replacing the Layer if possible.
  • Connections to 'unused' Generators are no longer listed in the UI.
  • Improved warnings for Starter licences in 'Restricted Mode'.

Notable Bug Fixes

  • Several issues with removing Pins from the Forge Dynamics Pin Constraint have been resolved.
  • The Composition Boundary now only draws outside the Composition.
  • rgbaToHex() now supports alpha as expected.
  • Layer nice names can now match their layerId.
  • A Value2 Solver can now be connected directly to e.g. a Shape's Position.
  • The Text Shape supports the Justify Alignment option again.
  • Materials (Fill/Stroke) can now be removed from the Merge Shape.
  • The button to reveal a Project in the Assets Window no longer appears on start up if a Project is not set.
  • An 'order of operations' issue affecting setting keyframe or animation curve interpolation is now resolved.
  • When importing multiple images to the Assets Window they are now added to a selected folder (if one is selected) without being added to a new folder.
  • Deleting an animated Array index no longer causes a misalignment of the Time Editor.
  • Undo after removing indices from an Array no longer triggers a crash (possible remaining gremlin here).
  • Fixed a regression where duplicating a hierarchy of Layers could cause the Time Editor to become misaligned with the Scene Tree.
  • A Pre-Comp's Blend Mode is now supported. This also relates to an issue where a change to a Pre-Comp's Opacity from 100% to 99% could cause a big change in appearance.
  • A Shape's Fill Alpha no longer affects its Stroke Alpha when a Shader is connected to the Stroke.
  • Right clicking on a Layer to rename it now correctly deselects any previously selected Layers.
  • Duplicating and/or copy/pasting Cameras is now working.
  • Opening Scenes containing missing assets located within a Project now report correctly as missing when a Project is not set.
  • Running Shape > Split Path at Selection with no points selected no longer triggers a crash.
  • The Viewport now updates correctly when undoing adding a Shader to a Stroke.
  • A crash caused by deleting a JavaScript Shape is resolved.
  • A crash caused by deleting a Layer while an animation channel is selected is resolved.
  • An issue causing problems with saved attributes in legacy files has been resolved. This was reported in relation to 'Use Layer as Seed' on the Noise Behaviour.
  • The Pen tool now draws correctly when a Camera is in use.
  • Changing dropdowns that hide/show the relevant attributes in the Attribute Editor will no longer occasionally fail to reveal the correct attributes.
  • F to fit is now working (again) for selected keyframes in the Graph Editor.
  • Deleting keyframes in the Graph Editor no longer clears the animation curve from the view.
  • The Demo Scenes > JavavScript > Truchet Tiles example has been updated.
  • Missing frames in an image sequence no longer affect its overall duration.

Notes

  • The Mesh Array has been renamed to Shape Array to avoid any confusion with the new Mesh Shape feature.
  • The hamburger icon has been replaced with a disclosure (...) icon. This is used in the Color Window and Text Shape (variable fonts).
  • In order for the default swatch names in the palettes that ship with Cavalry to appear they will need to be regenerated. To do this:
    1. Close Cavalry.
    2. Rename the Palettes folder to Palettes-old.
    3. Open Cavalry.
    4. Manually move any custom palettes from the Palettes-old folder to the new Palettes folder that will be (re)generated
    5. The Palettes-old folder can be deleted once complete.