View a comprehensive history of all the new Javascript scripting feature updates and changes Construct 3 since the first release.

3 favourites
Preview incorrectly allowed importing the 'Imports for events' script file
3 favourites
Show warning if using exports in 'Imports for events' script
5 favourites
Add I3DCameraObjectType.fieldOfView
4 favourites
Add IPlugin interface
4 favourites
Add IObjectClass properties 'runtime', 'plugin'
3 favourites
Add IInstance property 'plugin'
4 favourites
Fix type definition for IWorldInstance.testOverlapSolid()
7 favourites
Add IWorldInstance.isOnScreen()
6 favourites
Add ISpriteObjectType with APIs to access to animations/frames
5 favourites
Add ITimelineControllerObjectType
5 favourites
Add IRuntime.timelineController
5 favourites
Add ITimelineStateBase class from which ITimelineState and ITweenState derive
6 favourites
Allow specifying tween tags by an array of strings
5 favourites
Replace IRuntime properties 'minimumFramerate'/'maximumFramerate' with 'maxDt'/'minDt'
5 favourites
Add IRuntime properties 'framesPerSecond', 'ticksPerSecond'; deprecate 'fps'
5 favourites
Add IRuntime properties framerateMode, minFramerate, maxFramerate
8 favourites
Add IShadowLightInstance.lightX/Y
8 favourites
Add ITimerBehaviorInstance.setAllTimersPaused()
8 favourites
TypeScript: fix type definition of IWorldInstance.effects
8 favourites
Add I3DCameraObjectType.rotateCamera()
6 favourites
Fix error using I3DShapeInstance.shape getter
5 favourites
Add ISpriteInstance.animationFrameTag
5 favourites
Add IAnimationFrame.tag
1 favourites
Add IPhysicsBehaviorInstance.isAwake
9 favourites
Add I3DCameraObjectType.getLookVector()
2 favourites
Add async method ISVGPictureInstance.setSvgUrl()
3 favourites
Ensure runtime mousedown/mouseup events fire same as in DOM for simultaneous presses
9 favourites
Move setCollisionCellSize() method to ICollisionEngine
12 favourites
Add ICollisionEngine interface at runtime.collisions with new methods including getCollisionCandidates()
4 favourites
Fix possible error destroying instance in "destroy" event
3 favourites
Fix ILayer.isHTMLElementsLayer setter not working
5 favourites
Add IPhysicsBehaviorInstance.teleport()
8 favourites
Add IRuntime.setCollisionCellSize()
5 favourites
Add ILayer.isHTMLElementsLayer
5 favourites
Add 'isConvex' parameter to IDrawingCanvasInstance.fillPoly()
1 favourites
Update 'Ghost shooter code' example to use InstanceType for subclassing
3 favourites
ILayout addLayer()/moveLayer() insertBy parameter did not allow null
3 favourites
Drawing Canvas loadImagePixelData() upside-down in WebGPU
3 favourites
TypeScript: fix a couple more definitions
2 favourites
WebView2: polyfill window.moveTo/window.resizeTo
3 favourites
Fix some more TypeScript definitions
1 favourites
Removing layers did not always immediately update instance lists