Difference between revisions of "0.9.0"

m (Updated changelog)
m (category)
 
(28 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{notice|The information on this page may not be accurate or up to date due to the information pertaining to a version that is currently in development.}}
+
[[File:0.9.0_no-game.png|thumb|no-game screen]]
The codename for LÖVE 0.9.0 is '''Baby Inspector'''. It is currently '''<span style="color:#ff0000;">not released</span>'''.
+
 
 +
The codename for LÖVE 0.9.0 is '''Baby Inspector'''. It is currently '''<span style="color:#0000ff;">released</span>'''.
 +
 
 +
== Major changes from [[0.8.0]] ==
 +
* Added three new modules: [[love.window]], [[love.math]], and [[love.system]].
 +
* Reworked the [[love.joystick]] and [[love.thread]] modules.
 +
* Added new features to love.graphics, including [[Mesh|polygon meshes]] and [[Shader|vertex shaders]].
 +
* Integrated the [http://enet.bespin.org ENet] networking library via [http://leafo.net/lua-enet/ lua-enet].
 +
* Renamed many functions to be more consistent with the rest of the API.
 +
* Improved the performance of several APIs in [[love.graphics]].
 +
* And a '''lot''' more!
  
== Changes from [[0.8.0]] ==
+
== All changes from [[0.8.0]] ==
 
=== Additions ===
 
=== Additions ===
 +
* Added better multiplayer networking support with [http://enet.bespin.org ENet] (via the [http://leafo.net/lua-enet/ lua-enet] library.)
 
* Added --fused command line argument, to simulate fusing.
 
* Added --fused command line argument, to simulate fusing.
 
* Added liblove.
 
* Added liblove.
 
* Added the ability to have exit values.
 
* Added the ability to have exit values.
 
* Added exit value of 1 in case of error by default.
 
* Added exit value of 1 in case of error by default.
* Added basic support for the file:// uri scheme.
+
* Added basic support for the file:// URI scheme.
 
* Added [[love.timer.getAverageDelta]].
 
* Added [[love.timer.getAverageDelta]].
 
* Added [[Data:getString]].
 
* Added [[Data:getString]].
 
* Added [[Contact:getChildren]].
 
* Added [[Contact:getChildren]].
  
 +
* Added [[love.filesystem.isFused]].
 
* Added [[love.filesystem.getIdentity]].
 
* Added [[love.filesystem.getIdentity]].
 
* Added [[love.filesystem.append]].
 
* Added [[love.filesystem.append]].
 
* Added [[love.filesystem.getSize]].
 
* Added [[love.filesystem.getSize]].
 
* Added [[love.filesystem.mount]] and [[love.filesystem.unmount]].
 
* Added [[love.filesystem.mount]] and [[love.filesystem.unmount]].
 +
* Added an optional file search order parameter to [[love.filesystem.setIdentity]].
 
* Added [[(File):isOpen|File:isOpen]] and [[(File):getMode|File:getMode]].
 
* Added [[(File):isOpen|File:isOpen]] and [[(File):getMode|File:getMode]].
 
* Added [[(File):setBuffer|File:setBuffer]], [[(File):getBuffer|File:getBuffer]], and [[(File):flush|File:flush]].
 
* Added [[(File):setBuffer|File:setBuffer]], [[(File):getBuffer|File:getBuffer]], and [[(File):flush|File:flush]].
 +
 +
* Added [[love.textinput|textinput]] event for unicode text input.
 +
* Added [[love.keyboard.setTextInput]] and [[love.keyboard.hasTextInput]].
  
 
* Added previously internal [[Rasterizer]] and [[GlyphData]] methods.
 
* Added previously internal [[Rasterizer]] and [[GlyphData]] methods.
Line 24: Line 40:
 
* Added [[Font:getAscent]], [[Font:getDescent]], and [[Font:getBaseline]].
 
* Added [[Font:getAscent]], [[Font:getDescent]], and [[Font:getBaseline]].
 
* Added [[Font:setFilter]] and [[Font:getFilter]].
 
* Added [[Font:setFilter]] and [[Font:getFilter]].
* Added [[Font:hasGlyph]].
+
* Added [[Font:hasGlyphs]].
  
 
* Added angle, scale, and shear parameters to [[love.graphics.printf]].
 
* Added angle, scale, and shear parameters to [[love.graphics.printf]].
* Added HDR canvas support.
+
* Added support for [[TextureMode|high dynamic range]] (HDR) Canvases.
 
* Added mipmapping support to [[Image]]s (has [[love.graphics.isSupported]] test).
 
* Added mipmapping support to [[Image]]s (has [[love.graphics.isSupported]] test).
* Added vertex [[Shader]] support.
+
* Added [[Shader|vertex shader]] support.
 
* Added boolean support to [[Shader:send]].
 
* Added boolean support to [[Shader:send]].
 
* Added [[Canvas:getPixel]].
 
* Added [[Canvas:getPixel]].
 
* Added [[BlendMode]] "replace".
 
* Added [[BlendMode]] "replace".
* Added [[Geometry]] objects (replaces [[Quad]]s), allowing for arbitrary textured polygons.
+
* Added [[LineJoin]] modes.
* Added [[love.graphics.setCanvases]] (multiple render targets.)
+
* Added [[Mesh]] objects, allowing for arbitrary textured polygons.
 +
* Added multiple render target support to [[love.graphics.setCanvas]].
 
* Added [[love.graphics.setColorMask]].
 
* Added [[love.graphics.setColorMask]].
* Added [[love.graphics.setAlphaTest]].
 
 
* Added [[love.graphics.origin]].
 
* Added [[love.graphics.origin]].
 
* Added [[love.graphics.getRendererInfo]].
 
* Added [[love.graphics.getRendererInfo]].
 +
* Added [[love.graphics.getMaxImageSize]].
 
* Added [[SpriteBatch:getCount]] and [[SpriteBatch:getBufferSize]].
 
* Added [[SpriteBatch:getCount]] and [[SpriteBatch:getBufferSize]].
 
* Added [[SpriteBatch:getColor]].
 
* Added [[SpriteBatch:getColor]].
 
* Added [[ParticleSystem:emit]].
 
* Added [[ParticleSystem:emit]].
* Added [[ParticleSystem:setInsertMode]] and [[ParticleSystem:getInsertMode]].
+
* Added [[ParticleSystem:setInsertMode]].
 +
* Added [[ParticleSystem:setAreaSpread]].
 +
* Added [[ParticleSystem:isPaused]] and [[ParticleSystem:isStopped]].
 
* Added many [[ParticleSystem]] getter methods.
 
* Added many [[ParticleSystem]] getter methods.
 
* Added DXT compressed texture support to [[Image]]s via [[love.image.newCompressedData]].
 
* Added DXT compressed texture support to [[Image]]s via [[love.image.newCompressedData]].
Line 53: Line 72:
 
* Added [[love.math]] module.
 
* Added [[love.math]] module.
 
* Added a platform-independent (good) random implementation to [[love.math]].
 
* Added a platform-independent (good) random implementation to [[love.math]].
* Added [[RandomGenerator]] objects and [[love.math.newRandomGenerator]].
+
* Added [[RandomGenerator]] objects.
* Added [[BezierCurve]] objects and [[love.math.newBezierCurve]].
+
* Added [[BezierCurve]] objects.
 
* Added [[love.math.triangulate]] and [[love.math.isConvex]].
 
* Added [[love.math.triangulate]] and [[love.math.isConvex]].
 
* Added [[love.math.noise]].
 
* Added [[love.math.noise]].
 +
 +
* Added [[love.system]] module.
 +
* Added [[love.system.getClipboardText]] and [[love.system.setClipboardText]].
 +
* Added [[love.system.getOS]] and [[love.system.getProcessorCount]].
  
 
* Added [[love.window]] module.
 
* Added [[love.window]] module.
 
* Added [[love.window.isVisible]].
 
* Added [[love.window.isVisible]].
 
* Added flags to [[love.window.setMode]].
 
* Added flags to [[love.window.setMode]].
 +
* Added monitor choosing support to love.window.setMode.
 
* Added support for resizable, borderless, and non-centered windows.
 
* Added support for resizable, borderless, and non-centered windows.
 +
* Added support for [[FullscreenType|"fullscreen-desktop"]] mode.
 
* Added window [[love.resize|resize]] and [[love.visible|visible]] events.
 
* Added window [[love.resize|resize]] and [[love.visible|visible]] events.
* Added [[love.window.getDimensions]].
+
* Added [[love.window.getIcon]].
 +
* Added t.window.icon to [[love.conf]].
  
 
* Added [[SoundData:getDuration]] and [[SoundData:getSampleCount]].
 
* Added [[SoundData:getDuration]] and [[SoundData:getSampleCount]].
 
* Added [[Source:isPlaying]].
 
* Added [[Source:isPlaying]].
 +
* Added [[Source:setRelative]] and [[Source:isRelative]].
 +
* Added [[Source:setCone]] and [[Source:getCone]].
 +
* Added [[Source:getChannels]].
  
* Added new [[Channel]]s api for [[love.thread]].
+
* Added new [[Channel]]s API for [[love.thread]].
 +
* Added limited table support to [[Channel:push]].
 
* Added [[Thread:getError]].
 
* Added [[Thread:getError]].
 +
* Added [[Thread:isRunning]].
 +
* Added [[love.threaderror|threaderror]] event.
  
 
* Added [[love.mousefocus]] and [[love.window.hasMouseFocus]].
 
* Added [[love.mousefocus]] and [[love.window.hasMouseFocus]].
 +
* Added custom [[Cursor|hardware cursor]] support via [[love.mouse.newCursor]].
 
* Added [[love.mouse.setX]] and [[love.mouse.setY]].
 
* Added [[love.mouse.setX]] and [[love.mouse.setY]].
* Added [[love.joystickaxis|joystickaxis]] and [[love.joystickhat|joystickhat]] events.
 
* Added [[love.joystick.reload]].
 
  
* OPTIONAL: Added support for Game Music Emu.
+
* Added [[Joystick]] objects.
 +
* Added joystick [[love.joystickadded|add]] and [[love.joystickremoved|remove]] events.
 +
* Added joystick [[love.joystickaxis|axis]] and [[love.joystickhat|hat]] move events.
 +
* Added unified [[Joystick:isGamepadDown|Gamepad API]] for joysticks which have a similar layout to the Xbox controller.
 +
* Added joystick [[Joystick:setVibration|vibration]] support.
  
 
=== Removals ===
 
=== Removals ===
 +
* Removed release mode (but Fused mode is still there.)
 +
* Removed [[love.keyboard.getKeyRepeat]] (see [[love.keyboard.hasKeyRepeat]]).
 +
* Removed the unicode argument from [[love.keypressed]] (see [[love.textinput]]).
 +
 
* Removed love.graphics.drawTest.
 
* Removed love.graphics.drawTest.
 
* Removed [[love.graphics.quad]] and [[love.graphics.triangle]].
 
* Removed [[love.graphics.quad]] and [[love.graphics.triangle]].
Line 84: Line 123:
 
* Removed [[love.graphics.newStencil]].
 
* Removed [[love.graphics.newStencil]].
 
* Removed [[love.graphics.setLine]] and [[love.graphics.setPoint]].
 
* Removed [[love.graphics.setLine]] and [[love.graphics.setPoint]].
* Removed [[Quad]] objects (replaced by [[Geometry]]).
+
* Removed [[love.graphics.drawq]] (functionality is merged into [[love.graphics.draw]]).
 +
* Removed [[SpriteBatch:addq]] and [[SpriteBatch:setq]] (functionality is merged into [[SpriteBatch:add]] and [[SpriteBatch:set]]).
 +
* Removed [[Quad:flip]].
 
* Removed [[ParticleSystem:isFull]] and [[ParticleSystem:isEmpty]].
 
* Removed [[ParticleSystem:isFull]] and [[ParticleSystem:isEmpty]].
* Removed [[love.joystick.open]] and friends.
+
* Removed [[ParticleSystem:getX]] and [[ParticleSystem:getY]].
* Removed [[love.joystick.getBall]] and [[love.joystick.getNumBalls]].
+
* Removed [[love.graphics.checkMode]].
 +
 
 +
* Removed [[love.joystick]] module functions which operated on individual joysticks (see [[Joystick]] objects).
 +
* Removed [[love.joystick.getNumBalls|joystick ball]] support.
 
* Removed thread names.
 
* Removed thread names.
* Removed old thread messaging api (see [[Channel]]s).
+
* Removed old thread messaging API (see [[Channel]]s).
 
* Removed [[love.timer.getMicroTime]].
 
* Removed [[love.timer.getMicroTime]].
 +
 +
=== Renamed APIs ===
 +
* Renamed love's boot script to 'love.boot', which can be required.
 +
* Renamed [[love.filesystem.mkdir]] to [[love.filesystem.createDirectory]].
 +
* Renamed [[love.filesystem.enumerate]] to [[love.filesystem.getDirectoryItems]].
 +
* Renamed [[World:setAllowSleeping]] and [[World:getAllowSleeping]] to [[World:setSleepingAllowed]] and [[World:isSleepingAllowed]].
 +
* Renamed [[ChainShape:setPrevVertex]] to [[ChainShape:setPreviousVertex]].
 +
* Renamed Joint:enableMotor to Joint:setMotorEnabled.
 +
* Renamed Joint:enableLimit and Joint:isLimitEnabled to Joint:setLimitsEnabled and Joint:hasLimitsEnabled.
 +
* Renamed t.screen to t.window in [[love.conf]].
 +
* Renamed [[love.graphics.setCaption]] to [[love.window.setTitle]].
 +
* Renamed [[PixelEffect]] to [[Shader]] (but now with vertex shaders).
 +
* Renamed [[love.graphics.setDefaultImageFilter]] to [[love.graphics.setDefaultFilter]].
 +
* Renamed [[ParticleSystem:setSprite]] to [[ParticleSystem:setImage]].
 +
* Renamed [[ParticleSystem:setGravity]] to [[ParticleSystem:setLinearAcceleration]].
 +
* Renamed [[ParticleSystem:setLifetime]] and [[ParticleSystem:setParticleLife]] to [[ParticleSystem:setEmitterLifetime]] and [[ParticleSystem:setParticleLifetime]].
 +
* Renamed [[ParticleSystem:count]] and all getNum* functions to get*Count.
 +
* Renamed [[SoundData:getBits]] and [[Decoder:getBits]] to [[SoundData:getBitDepth]] and [[Decoder:getBitDepth]].
 +
* Renamed [[Source:setDistance]] and [[Source:getDistance]] to [[Source:setAttenuationDistances]] and [[Source:getAttenuationDistances]].
 +
* Renamed [[love.mouse.setGrab]] to [[love.mouse.setGrabbed]].
  
 
=== Fixes ===
 
=== Fixes ===
* Fixed fused release mode in OS X.
+
* Fixed fused mode in OS X.
 
* Fixed printing to the console in Windows before [[love.load]] is called.
 
* Fixed printing to the console in Windows before [[love.load]] is called.
 +
* Fixed the default [[love.run]] to not include the time taken by [[love.load]] in the first frame's dt calculation.
 
* Fixed the error screen not always appearing until the next input event.
 
* Fixed the error screen not always appearing until the next input event.
 
* Fixed [[love.event.clear]].
 
* Fixed [[love.event.clear]].
Line 102: Line 167:
 
* Fixed Box2D exception in [[World:update]].
 
* Fixed Box2D exception in [[World:update]].
 
* Fixed many uncaught Box2D / [[love.physics]] exceptions for [[Body|Bodies]] and [[Joint]]s.
 
* Fixed many uncaught Box2D / [[love.physics]] exceptions for [[Body|Bodies]] and [[Joint]]s.
 +
* Fixed [[ChainShape:getPoints]] running out of Lua stack space and crashing.
  
* Fixed [[(File):read]] reading past end of file.
+
* Fixed [[(File):read|File:read]] reading past end of file.
 
* Fixed [[love.filesystem.setIdentity]] not removing read access from old directories.
 
* Fixed [[love.filesystem.setIdentity]] not removing read access from old directories.
  
Line 109: Line 175:
 
* Fixed spacing for the last character in an Image [[Font]].
 
* Fixed spacing for the last character in an Image [[Font]].
 
* Fixed line wrapping in [[love.graphics.printf]].
 
* Fixed line wrapping in [[love.graphics.printf]].
 +
* Fixed [[love.graphics.printf]] to error if the wrap limit is negative.
 
* Fixed [[love.graphics.print]] truncating strings with embedded zeros.
 
* Fixed [[love.graphics.print]] truncating strings with embedded zeros.
 
* Fixed crashes with font drawing on some ATI cards.
 
* Fixed crashes with font drawing on some ATI cards.
Line 120: Line 187:
 
* Fixed line numbers in [[Shader]] errors.
 
* Fixed line numbers in [[Shader]] errors.
 
* Fixed [[Shader:send]] with Images and Canvases failing sometimes.
 
* Fixed [[Shader:send]] with Images and Canvases failing sometimes.
 +
* Fixed [[Shader:send]] to keep a reference to sent Images and Canvases.
 
* Fixed crash when binding [[SpriteBatch]]es multiple times.
 
* Fixed crash when binding [[SpriteBatch]]es multiple times.
 
* Fixed [[SpriteBatch]]es with more than 16,384 sprites.
 
* Fixed [[SpriteBatch]]es with more than 16,384 sprites.
 
* Fixed draw order for [[ParticleSystem]]s.
 
* Fixed draw order for [[ParticleSystem]]s.
 +
* Fixed [[ParticleSystem:setSizes]] resetting the size variation.
  
 
* Fixed [[love.window.getMode]] and friends returning wrong values when using desktop size.
 
* Fixed [[love.window.getMode]] and friends returning wrong values when using desktop size.
 
* Fixed keyrepeat settings being lost after (indirect) [[love.window.setMode]].
 
* Fixed keyrepeat settings being lost after (indirect) [[love.window.setMode]].
 +
* Fixed the icon being reset after [[love.window.setMode]].
  
 
* Fixed memory leak in the mp3 decoder.
 
* Fixed memory leak in the mp3 decoder.
Line 133: Line 203:
 
* Fixed looping support in tracker music formats.
 
* Fixed looping support in tracker music formats.
 
* Fixed skipping/looping issues when playing streaming audio [[Source]]s.
 
* Fixed skipping/looping issues when playing streaming audio [[Source]]s.
 
+
* Fixed a race condition in [[Source:play]].
=== Renamed APIs ===
+
* Fixed WAVE sound playback.
* Renamed [[PixelEffect]] to [[Shader]] (but now with vertex shaders).
 
* Renamed [[love.graphics.setDefaultImageFilter]] to [[love.graphics.setDefaultFilter]].
 
* Renamed [[ParticleSystem:setSprite]] to [[ParticleSystem:setImage]].
 
* Renamed [[ParticleSystem:setGravity]] to [[ParticleSystem:setLinearAcceleration]].
 
* Renamed [[ParticleSystem:setLifetime]] and [[ParticleSystem:setParticleLife]] to [[ParticleSystem:setEmitterLifetime]] and [[ParticleSystem:setParticleLifetime]].
 
* Renamed [[love.graphics.drawq]] to [[love.graphics.drawg]].
 
* Renamed [[SpriteBatch:addq]] and [[SpriteBatch:setq]] to [[SpriteBatch:addg]] and [[SpriteBatch:setg]].
 
* Renamed [[ParticleSystem:count]] and all getNum* functions to get*Count.
 
  
 
=== Other Changes ===
 
=== Other Changes ===
Line 148: Line 210:
 
* Moved window-related functions from [[love.graphics]] to [[love.window]].
 
* Moved window-related functions from [[love.graphics]] to [[love.window]].
  
* Renamed love's boot script to 'love.boot', which can be required.
+
* Updated functions which return LOVE objects to re-use the Lua-side object instead of always recreating it.
 +
 
 
* Updated the windows console, it now tries to re-use an active one first.
 
* Updated the windows console, it now tries to re-use an active one first.
 
* Updated error handling, error handlers now get resolved when the error occurs.
 
* Updated error handling, error handlers now get resolved when the error occurs.
 
* Updated order of sleep/present in [[love.run]] (now draws, *then* sleeps).
 
* Updated order of sleep/present in [[love.run]] (now draws, *then* sleeps).
* Updated [[love.keypressed]]'s second argument to be a unicode character string.
 
  
 +
* Updated [[love.keyboard.setKeyRepeat]] to take a boolean argument instead of numbers.
 +
* Updated [[love.keypressed]]'s second argument to indicate whether the keypress is a repeat.
 +
* Updated keyboard [[KeyConstant|key constants]] with some modern keyboard keys.
 +
 +
* Updated love.filesystem to try to create the appdata directory if it doesn't exist yet.
 
* Updated the default filesystem identity to omit file extension.
 
* Updated the default filesystem identity to omit file extension.
 
* Updated [[love.filesystem.newFile]] to optionally open the file.
 
* Updated [[love.filesystem.newFile]] to optionally open the file.
 
* Updated most [[love.filesystem]] functions to return nil, error on internal failure.
 
* Updated most [[love.filesystem]] functions to return nil, error on internal failure.
  
 +
* Updated [[love.graphics.print]]'s x and y arguments to default to 0.
 
* Updated the setFilter and setWrap methods, the second argument is now optional.
 
* Updated the setFilter and setWrap methods, the second argument is now optional.
 
* Updated [[Font]] and [[ParticleSystem]] rendering code, now more performant.
 
* Updated [[Font]] and [[ParticleSystem]] rendering code, now more performant.
* Updated [[SpriteBatch]] code, now more performant when (un)binding.
+
* Updated [[SpriteBatch]] code, now more performant when adding/setting and (un)binding.
* Updated [[Image]] creation code to error when creation fails.
 
 
* Updated [[Canvas]] code to support more systems.
 
* Updated [[Canvas]] code to support more systems.
 
* Updated [[Canvas:getImageData]] and [[love.graphics.newScreenshot]] to be more efficient.
 
* Updated [[Canvas:getImageData]] and [[love.graphics.newScreenshot]] to be more efficient.
Line 170: Line 237:
 
* Updated [[love.image.newImageData]] and [[love.graphics.newImage]] to accept [[FileData]].
 
* Updated [[love.image.newImageData]] and [[love.graphics.newImage]] to accept [[FileData]].
 
* Updated [[ImageData:setPixel]] to accept a table and default to 255 alpha.
 
* Updated [[ImageData:setPixel]] to accept a table and default to 255 alpha.
* Updated [[ImageData:mapPixel]] to be more efficient.
+
* Updated [[ImageData:mapPixel]], is now more efficient and now accepts optional x,y,w,h arguments.
 
* Updated [[love.image]] memory handling, improves errors and thread-safety.
 
* Updated [[love.image]] memory handling, improves errors and thread-safety.
  
 
* Updated [[love.audio.newSource]], [[love.sound.newDecoder]], and [[love.sound.newSoundData]] to accept [[FileData]].
 
* Updated [[love.audio.newSource]], [[love.sound.newDecoder]], and [[love.sound.newSoundData]] to accept [[FileData]].
 
* Updated allocation for [[SoundData]], it's more efficient and less wasteful.
 
* Updated allocation for [[SoundData]], it's more efficient and less wasteful.
 +
* Updated [[SoundData:setSample]] and [[SoundData:getSample]] to error for invalid samples.
 
* Updated Source:set* functions to default z to 0.
 
* Updated Source:set* functions to default z to 0.
 +
* Updated [[Source:seek]] to error for negative offsets.
 +
 +
* Updated [[Thread:start]] to accept arguments. The arguments are available in the thread via '''...''' (the vararg expression.)
  
 
* Updated [[love.timer.getFPS]] to be microsecond-accurate.
 
* Updated [[love.timer.getFPS]] to be microsecond-accurate.
 
* Updated [[love.timer.getTime]] to be microsecond-accurate and monotonic.
 
* Updated [[love.timer.getTime]] to be microsecond-accurate and monotonic.
  
[[File:0.9.0_no-game.png|thumb|no-game screen]]
+
* Updated Box2D to version 2.3.
 +
 
 +
[[Category:Versions]]

Latest revision as of 17:14, 10 May 2015

no-game screen

The codename for LÖVE 0.9.0 is Baby Inspector. It is currently released.

Major changes from 0.8.0

All changes from 0.8.0

Additions

  • Added better multiplayer networking support with ENet (via the lua-enet library.)
  • Added --fused command line argument, to simulate fusing.
  • Added liblove.
  • Added the ability to have exit values.
  • Added exit value of 1 in case of error by default.
  • Added basic support for the file:// URI scheme.
  • Added love.timer.getAverageDelta.
  • Added Data:getString.
  • Added Contact:getChildren.
  • Added Joystick objects.
  • Added joystick add and remove events.
  • Added joystick axis and hat move events.
  • Added unified Gamepad API for joysticks which have a similar layout to the Xbox controller.
  • Added joystick vibration support.

Removals

Renamed APIs

Fixes

  • Fixed memory leak in the mp3 decoder.
  • Fixed sound issues with some versions of OpenAL soft, by enabling direct channels.
  • Fixed 'random' hangs in audio.
  • Fixed case (in)sensitivity of sound file extension parsing.
  • Fixed looping support in tracker music formats.
  • Fixed skipping/looping issues when playing streaming audio Sources.
  • Fixed a race condition in Source:play.
  • Fixed WAVE sound playback.

Other Changes

  • Updated functions which return LOVE objects to re-use the Lua-side object instead of always recreating it.
  • Updated the windows console, it now tries to re-use an active one first.
  • Updated error handling, error handlers now get resolved when the error occurs.
  • Updated order of sleep/present in love.run (now draws, *then* sleeps).
  • Updated love.filesystem to try to create the appdata directory if it doesn't exist yet.
  • Updated the default filesystem identity to omit file extension.
  • Updated love.filesystem.newFile to optionally open the file.
  • Updated most love.filesystem functions to return nil, error on internal failure.
  • Updated Thread:start to accept arguments. The arguments are available in the thread via ... (the vararg expression.)
  • Updated Box2D to version 2.3.