View a comprehensive history of all the new Javascript scripting feature updates and changes Construct 3 since the first release.
Add IRuntime.setCollisionCellSize()
Add ILayer.isHTMLElementsLayer
Add 'isConvex' parameter to IDrawingCanvasInstance.fillPoly()
Update 'Ghost shooter code' example to use InstanceType for subclassing
ILayout addLayer()/moveLayer() insertBy parameter did not allow null
Drawing Canvas loadImagePixelData() upside-down in WebGPU
TypeScript: fix a couple more definitions
WebView2: polyfill window.moveTo/window.resizeTo
Fix some more TypeScript definitions
Removing layers did not always immediately update instance lists
TypeScript: add type definitions for events (via addEventListener)
TypeScript: make IBehaviorInstance generic to propagate correct types
TypeScript: fix various type definitions
TypeScript: update tsconfig.json to preserve imports in importsForEvents.js
'Set up TypeScript' did not work when no script files used
Ensure InstanceType namespace exists at runtime
Update some TypeScript definitions
Add IAnyProjectLayout/IAnyProjectLayer type definitions for effects autocomplete
Remove 'Array is discarded immediately' warning as it could show false positives
Fix error using IAudioObjectType after advanced minification
Add ILayout methods addLayer(), moveLayer(), removeLayer(), removeAllDynamicLayers()
Add ITextInstance.changeIconSet()
Add ITextInstance.getAsHtmlString()
Fix subclasses not immediately constructed for non-world instances (regression r341)
Sprite: add replaceCurrentAnimationFrame(blob)
Tiled Background & Tilemap: add replaceImage(blob)
Text/SpriteFont: added hasTagAtPosition(tag, x, y), getTagAtPosition(x, y)
Text/SpriteFont: added getTagPositionAndSize(tag, index), getTagCount(tag)
IAnimationFrame: add methods to get image points and collision polygon points
3D shape: add getFaceImagePointCount(), getFaceImagePoint/X/Y/Z()
Sprite: add Z component to getImagePoint(); add getImagePointZ()
Update autocomplete suggestions with latest script APIs
Hierarchy instances not always available in subclass constructor
Add ILOSBehaviorInstance methods addObstacle(), clearObstacles()
Script actions in deleted event blocks could still cause validation errors
Add IWorldInstance property isCollisionEnabled
Add IRuntime property timeScale
Add IInstance property timeScale, method restoreTimeScale()
Add Advanced Random script interface
Add IInstance.templateName
Fix possible incorrect picking using runtime.callFunction() in copy-picked function