API Changes

We will try minimize API changes between versions and keep backward compatibility, but if a function in the API was introduced with a bug, it's probable that its behavior will change in the next Aseprite release.

Deprecated should be avoided because might be removed in future versions of Aseprite.

Detect available API

You can use app.apiVersion:

if app.apiVersion == nil then
  -- First scripting API available
  app.alert("This is Aseprite v1.2.10-beta1 or v1.2.10-beta2")
elseif app.apiVersion == 1 then
  -- Second revision of the scripting API
  app.alert("This is Aseprite v1.2.10-beta3")
else
  -- Future versions will be 2, 3, etc.
end

v1.3.14

  • app.apiVersion is 33
  • Added Dialog:separator() more in line with other widgets #4989 (thanks to @MapleGecko)
  • Added uuid field to layers #5033
  • Added os.rename() and os.remove() functions
  • Added fitCriteria parameter to app.command.ChangePixelFormat command #4781
  • Fixed cel.image:clear() cannot be undone #5015
  • Fixed regression overwriting path specified in Dialog:file{filename} #5061

v1.3.13

  • app.apiVersion is 32
  • New app.clipboard API #2073
  • New beforesitechange event #4785
  • New plugin.version and plugin.displayName properties #4904
  • Don't allow to set invalid pixel ratios for sprites #3285
  • Fixed Image:drawImage() when BlendMode.SRC is used #5001

v1.3.11

v1.3.11-beta1

  • app.apiVersion is 30
  • Added GraphicsContext for images: Image.context property #4330
  • Added ui/flatten/filename parameters to app.command.DuplicateSprite command #4755

v1.3.10

  • app.apiVersion is 30
  • Added app.editor.zoom/scroll properties #4722
  • New option (Dialog:show{ hand=true }) to enable Hand tool in the active editor with a modal dialog (thanks to @lampysprites)

v1.3.9.2

  • app.apiVersion is 29
  • New app.fgTile/bgTile properties to get/set the foreground/background tile #4403
  • Added Site.tilemapMode property
  • Added x and y params to app.command.Paste()
  • Fixed app.command.Cut/Paste in -batch mode #4354
  • Fixed app.command.Cancel() command when used from scripts
  • Fixed default color/bgColor params in app.useTool()

v1.3.7

v1.3.3

v1.3-rc7

v1.3-rc5

v1.3-rc4

v1.3-rc3

v1.3-rc2

v1.3-rc1

v1.2.40 & v1.3-beta21

v1.2.36

v1.2.35

  • app.apiVersion is 18
  • Now Dialog() returns nil if we are running in -batch mode
  • New Cel.frame/Cel.frameNumber setters
  • Comparing Layers with Sprites just return false #3218

v1.2.33

  • app.apiVersion is 17
  • New Color{ index }
  • Now Color.index returns an integer instead of a number

v1.2.31

v1.2.30

v1.2.28

v1.2.26

v1.2.22

  • app.apiVersion is 12
  • New app.command.CanvasSize() params (ui and bounds)
  • Fixed crash undoing Sprite:newCel() in background layer
  • Fixed Dialog onclose event, now it's called when we close the app and the dialog is still opened #28
  • API changes:
    • You must use Dialog:newrow{ always=true } to activate the automatic "newrow" (Dialog:newrow{ always } cannot be used)
    • You must use ColorSpace{ sRGB=true } to create an sRGB color space (ColorSpace{ sRGB } cannot be used)
    • Now app.command.SetInkType{ type=... } works

v1.2.19

v1.2.18

v1.2.17

v1.2.16.3

v1.2.16

v1.2.15

v1.2.14

v1.2.13

v1.2.10

v1.2.10-beta4

v1.2.10-beta3

v1.2.10-beta2

  • app
    • app.apiVersion didn't exist (is nil)