View a comprehensive history of all the new Javascript scripting feature updates and changes Construct 3 since the first release.
TypeScript: change tsconfig.json default target to ES2021 for better minify support
Fix setting up TypeScript not working (regression r389)
TypeScript: fix & update some type definitions
Add static method IBehavior.getByConstructor()
Add IRuntime "afterload" event
Add IBehaviorType interface
Fix indents being added to template strings in scripts in event sheets
Add IRuntime properties 'sampling', 'isPixelRoundingEnabled'
Add IRuntime.addLoadPromise()
Add ILayer drawSurfaceToLayer(), layerToDrawSurface(), renderScale
Preview incorrectly allowed importing the 'Imports for events' script file
Show warning if using exports in 'Imports for events' script
Add I3DCameraObjectType.fieldOfView
Add IObjectClass properties 'runtime', 'plugin'
Add IInstance property 'plugin'
Fix type definition for IWorldInstance.testOverlapSolid()
Add IWorldInstance.isOnScreen()
Add ISpriteObjectType with APIs to access to animations/frames
Add ITimelineControllerObjectType
Add IRuntime.timelineController
Add ITimelineStateBase class from which ITimelineState and ITweenState derive
Allow specifying tween tags by an array of strings
Replace IRuntime properties 'minimumFramerate'/'maximumFramerate' with 'maxDt'/'minDt'
Add IRuntime properties 'framesPerSecond', 'ticksPerSecond'; deprecate 'fps'
Add IRuntime properties framerateMode, minFramerate, maxFramerate
Add IShadowLightInstance.lightX/Y
Add ITimerBehaviorInstance.setAllTimersPaused()
TypeScript: fix type definition of IWorldInstance.effects
Add I3DCameraObjectType.rotateCamera()
Fix error using I3DShapeInstance.shape getter
Add ISpriteInstance.animationFrameTag
Add IPhysicsBehaviorInstance.isAwake
Add I3DCameraObjectType.getLookVector()
Add async method ISVGPictureInstance.setSvgUrl()
Ensure runtime mousedown/mouseup events fire same as in DOM for simultaneous presses
Move setCollisionCellSize() method to ICollisionEngine
Add ICollisionEngine interface at runtime.collisions with new methods including getCollisionCandidates()
Fix possible error destroying instance in "destroy" event
Fix ILayer.isHTMLElementsLayer setter not working
Add IPhysicsBehaviorInstance.teleport()