Version v1.85.2 Changelog November 3, 2026
Breaking Changes
Angle Units
- Engine: 16 angle properties now take radians by default, like
rotation. They aretransform/skew,transform/skewAxis,text_animator/skew,text_animator/skewAxis,shape/rotation,shape/skew,shape/skewAxis,shape/star/rotation,modifier/repeater/rotation,modifier/twist/angle,fill/stripe/angle,effect/linear_wipe/angle,effect/radial_wipe/startAngle,effect/venetian_blinds/direction,effect/wave_warp/directionandeffect/wave_warp/phase. Before,setFloat,getFloatand their keyframes took and gave degrees. Code that passes degrees converts them. Or it callssetAngleUnit(scene, Degree)to keep degrees for every angle of the scene,rotationincluded. Scene files are unchanged. Scenes saved before and after this change open in either engine with the same angles. - Engine: New scene setting
angleUnit(Radian, the default, orDegree):setAngleUnit/getAngleUnit, thescene/angleUnitproperty and acreateSceneoption. It sets the unit in whichsetFloat,getFloat, the keyframe API,setRotationandgetRotationtake and give angles. The engine keeps angles in radians either way.Degreeis a compatibility option for older integrations: the CE.SDK editor UI expects radians.motionBlur/shutterAngle,motionBlur/shutterPhaseand therotateaction take degrees in either unit. Changing the unit also converts a number variable bound only to angle properties. The HTML5, IDML, PSD, EPS, PPTX, PDF and Lottie importers and exporters work in either unit. Values set and read in degrees round-trip within float precision, so a value can come back a float step off (for example 511.5 as 511.50003). - Engine (Web / Android / Swift):
engine.scene.setAngleUnit('Degree' | 'Radian'),engine.scene.getAngleUnit()and theangleUnitoption ofengine.scene.create(Web);SceneApi.setAngleUnit(AngleUnit),SceneApi.getAngleUnit()and theangleUnitparameter ofSceneApi.create(Android);SceneAPI.setAngleUnit(_:),SceneAPI.getAngleUnit()and theangleUnitparameter ofSceneAPI.create(Swift).
Deprecations
None in this release.
New Features
None in this release.
Improvements & Behavior Changes
Video Performance
- Engine: On Linux and on Windows with the GStreamer runtime, a forward jump of the playhead now decodes from the key frame before the new time. This applies when that key frame is 30 frames or more ahead.
Bug Fixes
Engine
- A rotation track on a group now turns the group about its centre, as
setRotationdoes. Before, it turned the group about its top-left corner. widthandheighttracks on a group now scale its content about the group’s origin. Before, they were accepted but rendered nothing.positionandrotationtracks on a track now move and turn its clips. Before, they were accepted but rendered nothing.- On Linux, Node Native included, a looping MP4 video from older FFmpeg versions now starts again at each loop point. A video export with it now completes. Before, the export stopped at the end of the clip and failed because the video block stayed pending.
- On Linux, Node Native included, a clip that starts late in a long video now decodes from the key frame before its start. Windows with the GStreamer runtime in place of Media Foundation gets the same fix. An export of a clip that starts 1 hour into a video now takes about as long as one that starts at 0 s. Before, the engine decoded every frame up to the start, and that export stopped after 60 seconds. With the open source H.264 decoder, a video that can start decoding only at its first frame still decodes from its start.
- On Linux, a far seek in an H.265 video no longer shows a frame a few frames before the requested time.
- On Linux, a far request while the decoder reads a video no longer makes it read every chunk up to the requested time first.
- Text animations that reveal each line or word through a mask, such as Baseline and Wipe, now show all of each glyph. Before, tall accents and descenders outside the line box, as with a tight line height, were cut. They appeared in one frame when the animation ended.