Skip to content

Latest commit

 

History

History
306 lines (228 loc) · 14.2 KB

CHANGELOG.md

File metadata and controls

306 lines (228 loc) · 14.2 KB

Changelog

This is a changelog for playdate-luacats.

This project is unaffilliated with Panic Inc.

See also: Panic Playdate SDK Changelog

Unreleased

v2.6.1-luacats1 - 2024-11-18

  • Add docs: playdate.file.seek
  • Add docs: playdate.graphics.drawPolygon(p)
  • Add docs: playdate.graphics.fillPolygon(p)
  • Remove: playdate.graphics.kWrapTruncateEnd

v2.6.0-luacats2 - 2024-10-27

  • Refinements for Playdate 2.6.0-beta2
  • Remove kWrapTruncateEnd (not present)
  • Add whence to playdate.file.file:seek(offset, whence)
  • Correct high bits in new constants (playdate.graphics.kAlign* and playdate.graphics.kWrap*)

v2.6.0-luacats1 - 2024-10-10

  • Update for Playdate 2.6.0-beta2
  • Add playdate.graphics.kAlignLeft, playdate.graphics.kAlignCenter, playdate.graphics.kAlignRight
  • Add playdate.sound.signal:getValue()
  • Add playdate.sound.synth:clearEnvelope()
  • Add playdate.sound.channel:getDryLevelSignal()
  • Add playdate.sound.channel:getWetLevelSignal()
  • Add playdate.sound.signalvalue (undocumented)
  • Document playdate.sound.synth.new sustainStart/sustainEnd introduced in v2.2.0.
  • Add playdate.file.kSeekSet, playdate.file.kSeekFromCurrent, playdate.file.kSeekFromEnd (undocumented)
  • Add playdate.server.createMovie (undocumented)

v2.5.0-luacats1 - 2024-05-16

  • No changes between Playdate 2.5.0-beta2 and Playdate SDK 2.5.0 final
  • Update for Playdate 2.5.0-beta2
  • Add playdate.restart(arg) to restart the game with an optional argv string[].
  • Add playdate.sound.sample.new(seconds, format)
  • Fix: table.create parameters are optional and will default to 0.

v2.4.2-luacats1 - 2024-05-02

  • No SDK API changes in 2.4.2.
  • Add return types (nil) to callbacks in the _InputHandler table.
  • Remove incorrect leading _ on AButton/BButton on _InputHandler table.

v2.4.1-luacats2 - 2024-04-30

  • Add instructions for NeoVim, Sublime and Zed (in addition to VSCode)
  • Switch suggested config from .vscode/settings.json to .luarc.json
  • Suppress LuaLS suggesting os, package and io which are absent on the playdate. (thanks @thacuber2a03)
  • Make URLs markdown links so they are clickable.

v2.4.1-luacats1 - 2024-03-08

  • Update for PlaydateSDK 2.4.1 (no changes)
  • Remove HTML-like placeholders from markdown output. E.g. /Data/<bundleid> becomes /Data/{bundleid}

v2.4.0-luacats3 - 2024-03-07

  • Add .editorconfig file.
  • Switch from error and errorString to err to avoid conflict with Lua's error function.
  • Cleanup markdown in this changelog (escape certain characters, hanging indent, etc.)

v2.4.0-luacats2 - 2024-03-02

v2.4.0-luacats1 - 2024-02-28

  • Update for PlaydateSDK v2.4.0-beta2
  • Various modulators (setVolumeMod, setPanMod, etc) may be called with nil to reset/remove the signal modulator.
  • easingAmplitude / easingPeriod option on _Animator
  • New keys for playdate.getStats()

v2.3.1-luacats1 - 2024-02-16

  • Update for Playdate SDK v2.3.1
  • Add missing return type for playdate.ui.crankIndicator:resetAnimation().

v2.3.0-luacats1 - 2024-02-05

v2.2.0-luacats1 - 2024-01-11

  • Update for Playdate SDK v2.2.0
  • Fix types for playdate.sound.synth.new sustainStart/sustainEnd bee6e02
  • Fix anchors for doc links
  • sampleplayer:playAt() improvements

v2.1.1-luacats7 - 2024-01-11

  • _FrameTimer and _Timer enhancements.
  • non-integer image scale and rotation (PR#7)
  • non-integer sprite:setCenter (PR#7)

Thanks @ncocchiaro

v2.1.1-luacats6 - 2023-12-29

  • More type fixes.

Thanks ncocchiaro forPR #5

v2.1.1-luacats5 - 2023-12-10

  • Improved Changelog
  • Fixed missing playdate.math.logic
  • Fixed instrument:addVoice param from _Vector2D to _Synth.

Thanks ncocchiaro for PR #3.

Generated with notpeter/playdate-docdef#2ba00c6.

v2.1.1-luacats4 - 2023-11-12

  • Added CHANGELOG.md.
  • Fixed playdate.graphics.sprite.setBackgroundDrawingCallback function return type. Returns the backgroundSprite not nil. (First documented in 2.1.1, behavior was same in older SDKs)
  • Fixed less than an greater than being incorrectly escaped when rendered as markdown.

Generated with notpeter/playdate-docdef#c9ea3bc

v2.1.1-luacats3 - 2023-11-12

  • Added playdate.math.logic.{nand,nor,nxor,xor} (undocumented, requires import "CoreLibs/math")
  • Added playdate.graphics.generateQRCodeSync (undocumented)
  • Fixed playdate.graphics.generateQRCode callback argument types (nilable)
  • Fixed playdate.graphics.imagetable return types (nilable)

v2.1.1-luacats2 - 2023-11-11

  • Fixed playdate.graphics.sprite:setBackgroundDrawingCallback description (reverted changes from PlaydateSDK v2.1.0-beta which weren't in PlaydateSDK v2.1.0 final).
  • Fixed playdate.sound.envelope:setRelease description (changed in PlaydateSDK v2.1.1).
  • Fixed playdate.graphics.imagetable:__index function return type. LuaLS does not correctly use this, use playdate.graphics.imagetable:getImage instead.
  • Added playdate.graphics.setPattern(image, x, y) Present in sdk docs but is incorrectly formatted.

v2.1.1-luacats1 - 2023-11-02

v2.1.0-luacats8 - 2023-10-28

Switched from Playdate SDK v2.1.0-beta1 to v2.1.0 (final).

  • Added README.md section on how to type Object.lua Playdate classes.
  • Fixed README.md playdate.graphics.image example
  • Added playdate.scoreboards.*
    • playdate.scoreboards.addScore
    • playdate.scoreboards.getPersonalBest
    • playdate.scoreboards.getScoreboards
    • playdate.scoreboards.getScores
  • Added playdate.server.* (undocumented)
    • playdate.server.getAvatar
    • playdate.server.setAvatar
    • playdate.server.uploadFile
  • Added playdate.simulator.openURL (undocumented)

v2.1.0-luacats7 - 2023-10-21

  • Fixed Object.lua (Panic Playdate Classes) things
  • Added Object to Global namespace
  • Fixed class()
  • Added _Object

v2.1.0-luacats6 - 2023-10-18

  • Added playdate.geometry.kLineCapStyle* constants:
  • Fixed playdate.sound.twopolefilter (accepts string)
  • Added playdate.sound.kFilter* constants

v2.1.0-luacats5 - 2023-10-14

  • Fixed class().extends() - alterntaively accepts string of varname in global namespace.
  • Fixed playdate.buttonJustPressed (alternatively accepts string)
  • Fixed playdate.buttonIsReleased (alternatively accepts string)
  • Fixed playdate.buttonJustReleased (alternatively accepts string)
  • Updated Suggested .vscode/settings.json in README.md

v2.1.0-luacats4 - 2023-10-10

  • Fixed playdate.graphics.generateQRCode function return type (returns playdate.timer not nil)

v2.1.0-luacats3 - 2023-10-05

  • Added MIT License option.
  • Added PlaydateSDK license text.
  • Updated README.md to reflect MIT license option.
  • Updated README.md image alttexts
  • Added README.md update instructions
  • Added _SystemStats for playdate.getStats()
  • Fixed playdate.datastore.write (pretty is nilable)
  • Added playdate.graphics.generateQRCode callback typing.
  • Fixed playdate.graphics.sprite.setBackgroundDrawingCallback (callback is nilable)
  • Added playdate.ui.crankIndicator:getBounds xOffset/yOffset paramters (Undocumented, new in PlaydateSDK 2.1.0-beta1)
  • Added playdate.graphics.drawLine (second form that accepts lineSegment).

v2.1.0-luacats2 - 2023-09-29

  • Fixed playdate.graphics.setStencilPattern (docs have copy pasta error)
  • Fixed playdate.graphics.sprite:setStencilPattern (docs have copy pasta error)
  • Added class
  • Added playdate.ui.crankIndicator:start (deprecated in 2.1.0-beta1)
  • Added playdate.ui.crankIndicator:update (deprecated in 2.1.0-beta1)

v2.1.0-luacats1 - 2023-09-29

First public release. Run against v2.1.0-beta1 SDK.

  • Added missing types for hundreds of functions. Nearly no untyped (any) remaining.
  • Changed single value function returns to not include named parameters (still named for multi value returns).
  • Added 100% coverage on return types (including explicit return nil)
  • Added inline examples from docs (e.g. playdate.getCrankChange)
  • Added support for translating HTML to Markdown in function descriptions. Preserve *italic*, backtick code fencing.
  • Added paratheses around types for arguments which accept multiple types.
  • Changed class types so we can differentiate between class variables/class functions and instance properties/instance functions. So Playdate Images are now of type _Image rather than of type playdate.graphics.image.
  • Renamed existing duck types to have leading underscore (e.g. _ModTime, _PowerStatus).
  • Added new synthetic types (e.g. _Image, _Sprite, _File) with a parent of their Playdate type names (e.g. playdate.graphics.image, etc).
  • Updated README.md to document Synthetic types.
  • Added playdate.graphics.font.kDitherType* constants
  • Added playdate.graphics.sprite.kCollisionType* constants
  • Changed many #anchor links (to match changes to PlaydateSDK docs)
  • Changed easingFunction arguments type to be less specific (now just function)
  • Remove playdate.frameTimer.timeLeft (my error)
  • Added playdate.frameTimer.frame
  • Fixed playdate.frameTimer callback stuff:
  • Fixed argument name collisions (string to str)
  • Added playdate.sound.lfo:setStartPhase (new in 2.1.0-beta1)
  • Added playdate.sound.synth:setWavetable (new in 2.1.0-beta1)
  • Added playdate.ui.crankIndicator:draw (new in 2.1.0-beta1; xOffset/yOffset undocumented)
  • Added playdate.ui.crankIndicator:getBounds (new in 2.1.0-beta1)
  • Added .luarc.json

v2.0.3-luacats1 - 2023-09-02

Unreleased.

Updated SDK from v2.0.1 to v2.0.3 but docs were unchanged.

No changes from v2.0.1-luacats1

v2.0.1-luacats1 - 2023-09-02

Unreleased.

Initial LuaCATS types for PlaydateSDK.

Version tags explained

We build against the latest version of the PlaydateSDK and this corresponds to the version in the tag. We then add a suffix (starting with -luacats1) and for each iterative improvement of the LuaCATS definitions for that SDK release we increment (e.g. -luacats2, -luacats3, etc) and reset back to -luacats1 whenever Panic makes a new PlaydateSDK release.