Difference between revisions of "0.9.2"
(Updated changelog) |
m (category) |
||
(17 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | [[File:0.9.0_no-game.png|thumb|no-game screen]] | |
− | The codename for LÖVE 0.9.2 is '''Baby Inspector'''. It is currently '''<span style="color:# | + | |
+ | The codename for LÖVE 0.9.2 is '''Baby Inspector'''. It is currently '''<span style="color:#0000ff;">released</span>'''. | ||
== Changes from [[0.9.1]] == | == Changes from [[0.9.1]] == | ||
===Additions === | ===Additions === | ||
+ | * Added Lua 5.3's [http://www.lua.org/manual/5.3/manual.html#6.5 UTF-8 module], via <code>utf8 = require("utf8")</code>. | ||
* Added [[Shader:getExternVariable]]. | * Added [[Shader:getExternVariable]]. | ||
* Added several new [[CanvasFormat|Canvas texture formats]]. | * Added several new [[CanvasFormat|Canvas texture formats]]. | ||
Line 9: | Line 11: | ||
* Added [[love.graphics.getCompressedImageFormats]]. | * Added [[love.graphics.getCompressedImageFormats]]. | ||
* Added [[ParticleSystem:setQuads]]. | * Added [[ParticleSystem:setQuads]]. | ||
+ | * Added [[ParticleSystem:setLinearDamping]]. | ||
+ | * Added [[ParticleSystem:getLinearDamping]]. | ||
* Added [[SpriteBatch:flush]]. | * Added [[SpriteBatch:flush]]. | ||
+ | * Added [[love.graphics.getStats]]. | ||
+ | * Added <code>mirroredrepeat</code> [[WrapMode]]. | ||
+ | * Added [[love.audio.setDopplerScale]] and [[love.audio.getDopplerScale]]. | ||
* Added optional duration argument to [[Joystick:setVibration]]. | * Added optional duration argument to [[Joystick:setVibration]]. | ||
* Added [[love.joystick.loadGamepadMappings]] and [[love.joystick.saveGamepadMappings]]. | * Added [[love.joystick.loadGamepadMappings]] and [[love.joystick.saveGamepadMappings]]. | ||
* Added [[Joint:setUserData]] and [[Joint:getUserData]]. | * Added [[Joint:setUserData]] and [[Joint:getUserData]]. | ||
+ | * Added [[Joint:getBodies]]. | ||
+ | * Added [[GearJoint:getJoints]]. | ||
* Added [[Body:getWorld]]. | * Added [[Body:getWorld]]. | ||
− | * Added [[Contact:getFixtures]] and [[Body:getContactList]]. | + | * Added [[Body:getJointList]]. |
+ | * Added [[Contact:getFixtures]] and [[Body:getContactList]]. | ||
+ | * Added [[Body:isDestroyed]], [[Fixture:isDestroyed]], [[Joint:isDestroyed]], and [[World:isDestroyed]]. | ||
+ | * Added [[love.mousemoved]] event callback. | ||
+ | * Added [[love.mouse.setRelativeMode]] and [[love.mouse.getRelativeMode]]. | ||
+ | * Added [[love.keyboard.getKeyFromScancode]] and [[love.keyboard.getScancodeFromKey]]. | ||
* Added [[love.window.getDisplayName]]. | * Added [[love.window.getDisplayName]]. | ||
* Added [[love.window.minimize]]. | * Added [[love.window.minimize]]. | ||
* Added [[love.window.showMessageBox]]. | * Added [[love.window.showMessageBox]]. | ||
+ | * Added [[love.window.toPixels]] and [[love.window.fromPixels]]. | ||
+ | * Added [[love.window.setPosition]] and [[love.window.getPosition]]. | ||
+ | * Added <code>x</code> and <code>y</code> fields to the <code>flags</code> table in [[love.window.setMode]] and [[love.window.getMode]], and to the <code>t.window</code> table in [[love.conf]]. | ||
+ | * Added <code>refreshrate</code> field to the table returned by [[love.window.getMode]]. | ||
* Added [[love.filesystem.isSymlink]], [[love.filesystem.setSymlinksEnabled]], and [[love.filesystem.areSymlinksEnabled]]. | * Added [[love.filesystem.isSymlink]], [[love.filesystem.setSymlinksEnabled]], and [[love.filesystem.areSymlinksEnabled]]. | ||
+ | * Added [[love.filesystem.getRealDirectory]]. | ||
=== Deprecations === | === Deprecations === | ||
* Deprecated [[SpriteBatch:bind]] and [[SpriteBatch:unbind]]. | * Deprecated [[SpriteBatch:bind]] and [[SpriteBatch:unbind]]. | ||
* Deprecated all uses of the name 'FSAA' in favor of 'MSAA'. | * Deprecated all uses of the name 'FSAA' in favor of 'MSAA'. | ||
− | * Deprecated the | + | * Deprecated the <code>hdrcanvas</code> [[GraphicsFeature]] constant in favor of [[love.graphics.getCanvasFormats]]. |
− | * Deprecated the | + | * Deprecated the <code>dxt</code> and <code>bc5</code> [[GraphicsFeature]] constants in favor of [[love.graphics.getCompressedImageFormats]]. |
* Deprecated [[love.window.getWidth]], [[love.window.getHeight]], and [[love.window.getDimensions]] in favor of the [[love.graphics]] equivalents or [[love.window.getMode]]. | * Deprecated [[love.window.getWidth]], [[love.window.getHeight]], and [[love.window.getDimensions]] in favor of the [[love.graphics]] equivalents or [[love.window.getMode]]. | ||
+ | |||
+ | === Renamed APIs === | ||
+ | * Renamed all cases of FSAA to MSAA. The FSAA names still exist for backward-compatibility. | ||
=== Fixes === | === Fixes === | ||
+ | * Fixed crashes when LÖVE objects are garbage-collected in multiple threads simultaneously. | ||
* Fixed [[love.filesystem.setIdentity]] breaking in some situations when called multiple times. | * Fixed [[love.filesystem.setIdentity]] breaking in some situations when called multiple times. | ||
− | * Fixed love.system.openURL sometimes blocking indefinitely on Linux. | + | * Fixed the default [[love.filesystem]] identity when in Fused mode in Windows. |
+ | * Fixed [[love.system.openURL]] sometimes blocking indefinitely on Linux. | ||
+ | * Fixed [[love.joystick.setGamepadMapping]]. | ||
+ | * Fixed the order of vertices in [[ChainShape]]s. | ||
+ | * Fixed [[love.mouse.getPosition]] returning outdated values if [[love.mouse.setPosition]] was used in the same frame. | ||
+ | * Fixed [[love.graphics.newFont]] to error when given an invalid size argument. | ||
+ | * Fixed the file name, line number, and backtrace given if [[love.graphics.print]] errors. | ||
+ | * Fixed a small memory leak if [[love.graphics.newCanvas]] errors. | ||
* Fixed [[Shader:getWarnings]] returning unnecessary information. | * Fixed [[Shader:getWarnings]] returning unnecessary information. | ||
* Fixed a potential crash when [[Shader]] objects are garbage collected. | * Fixed a potential crash when [[Shader]] objects are garbage collected. | ||
+ | * Fixed a potential small memory leak triggered when [[love.graphics.newShader]] errors. | ||
* Fixed [[love.graphics.newMesh]](vertexcount, ...) causing the Mesh to do instanced rendering. | * Fixed [[love.graphics.newMesh]](vertexcount, ...) causing the Mesh to do instanced rendering. | ||
* Fixed [[Mesh:getVertexMap]]. | * Fixed [[Mesh:getVertexMap]]. | ||
* Fixed [[(Image):refresh|Image:refresh]] generating mipmaps multiple times if mipmap filtering is enabled. | * Fixed [[(Image):refresh|Image:refresh]] generating mipmaps multiple times if mipmap filtering is enabled. | ||
+ | * Fixed [[(Image):setMipmapFilter|Image:setMipmapFilter]] to not keep bad state around if it errors. | ||
* Fixed [[Mesh:setDrawRange]] when the Mesh has a vertex map set. | * Fixed [[Mesh:setDrawRange]] when the Mesh has a vertex map set. | ||
* Fixed internal detection of the 'position' and 'effect' shader functions. | * Fixed internal detection of the 'position' and 'effect' shader functions. | ||
+ | * Fixed some cases of noncompliant shader code not properly erroring on some nvidia drivers. | ||
* Fixed Texture memory leak when [[Mesh]]es are garbage collected. | * Fixed Texture memory leak when [[Mesh]]es are garbage collected. | ||
* Fixed the default [[LineJoin|line join mode]] to be 'miter' instead of an undefined value. | * Fixed the default [[LineJoin|line join mode]] to be 'miter' instead of an undefined value. | ||
+ | * Fixed [[Canvas:getPixel]] to error if the coordinates are not within the Canvas' bounds. | ||
+ | * Fixed detection of [[CompressedFormat|compressed textures]] to work regardless of the file's extension. | ||
* Fixed the default [[love.errhand|error handler]] screen's text size when highdpi mode is enabled on a Retina monitor in OS X. | * Fixed the default [[love.errhand|error handler]] screen's text size when highdpi mode is enabled on a Retina monitor in OS X. | ||
+ | * Fixed the default [[love.errhand|error handler]] background color when sRGB mode is enabled for the window. | ||
* Fixed the state of [[love.graphics.setWireframe|wireframe mode]] when love.window.setMode is called. | * Fixed the state of [[love.graphics.setWireframe|wireframe mode]] when love.window.setMode is called. | ||
* Fixed [[love.window.setMode]] to fall back to the largest available mode if a width or height greater than the largest supported is specified and exclusive-fullscreen mode is used. | * Fixed [[love.window.setMode]] to fall back to the largest available mode if a width or height greater than the largest supported is specified and exclusive-fullscreen mode is used. | ||
− | |||
− | |||
− | |||
=== Other Changes === | === Other Changes === | ||
+ | * Updated the Windows executable to always prefer the higher performance GPU on nvidia Optimus systems. | ||
+ | * Updated the --console command-line argument in Windows to open the console before conf.lua is loaded. | ||
+ | * Updated [[love.conf|t.console]] and the --console command-line argument in Windows to use the existing console window, if LÖVE was launched from one. | ||
+ | * Updated the love executable to verify that the love library version matches before using it. | ||
* Updated the Lua wrapper code for modules to avoid crashes when the module's instance is created, deleted, and recreated. | * Updated the Lua wrapper code for modules to avoid crashes when the module's instance is created, deleted, and recreated. | ||
* Updated internal code for handling garbage collection of love objects to be more efficient. | * Updated internal code for handling garbage collection of love objects to be more efficient. | ||
+ | * Updated love's initialization code to trigger a Lua error if [[love.conf]] has an error in it. | ||
* Updated [[love.filesystem.getSaveDirectory]] and friends to strip double-slashes ("//") from their returned paths. | * Updated [[love.filesystem.getSaveDirectory]] and friends to strip double-slashes ("//") from their returned paths. | ||
* Updated the error message when love.filesystem.write or File:open fails because the directory doesn't exist. | * Updated the error message when love.filesystem.write or File:open fails because the directory doesn't exist. | ||
* Updated error message when [[love.math.setRandomSeed]](0) is attempted. | * Updated error message when [[love.math.setRandomSeed]](0) is attempted. | ||
+ | * Updated the error message when invalid UTF-8 strings are used in love functions that expect UTF-8. | ||
* Updated [[love.physics.newChainShape]] to error if the number of arguments is invalid. | * Updated [[love.physics.newChainShape]] to error if the number of arguments is invalid. | ||
+ | * Updated [[love.physics.newPolygonShape]] and [[love.physics.newChainShape]] to accept a table of vertices. | ||
+ | * Updated [[love.thread.newThread]] to accept a literal string of code. | ||
* Updated love-created threads to use names visible in external debuggers. | * Updated love-created threads to use names visible in external debuggers. | ||
* Updated [[SpriteBatch:unbind]] / [[SpriteBatch:flush]] to use less VRAM if the SpriteBatch has the static usage hint. | * Updated [[SpriteBatch:unbind]] / [[SpriteBatch:flush]] to use less VRAM if the SpriteBatch has the static usage hint. | ||
* Updated [[love.graphics.newImage]], [[love.image.newImageData]], etc. to leave less temporary Lua-owned memory around. | * Updated [[love.graphics.newImage]], [[love.image.newImageData]], etc. to leave less temporary Lua-owned memory around. | ||
* Updated [[love.graphics.push]] to accept different [[StackType|stack types]] to push. Current types are "transform" and "all". | * Updated [[love.graphics.push]] to accept different [[StackType|stack types]] to push. Current types are "transform" and "all". | ||
+ | * Updated love shaders to accept GLSL ES precision qualifiers (<code>lowp</code>, <code>mediump</code>, and <code>highp</code>) on variables, although they do nothing. | ||
+ | * Updated the error message for [[love.graphics.newShader]] to be less cryptic if an invalid filename is given. | ||
+ | * Updated compressed texture loading code to support BC6 and BC7 [[CompressedFormat|compressed textures]] (if the graphics driver supports them.) | ||
− | + | [[Category:Versions]] | |
− | |||
− | |||
− | [[Category: |
Latest revision as of 17:15, 10 May 2015
The codename for LÖVE 0.9.2 is Baby Inspector. It is currently released.
Contents
Changes from 0.9.1
Additions
- Added Lua 5.3's UTF-8 module, via
utf8 = require("utf8")
. - Added Shader:getExternVariable.
- Added several new Canvas texture formats.
- Added love.graphics.getCanvasFormats.
- Added love.graphics.getCompressedImageFormats.
- Added ParticleSystem:setQuads.
- Added ParticleSystem:setLinearDamping.
- Added ParticleSystem:getLinearDamping.
- Added SpriteBatch:flush.
- Added love.graphics.getStats.
- Added
mirroredrepeat
WrapMode. - Added love.audio.setDopplerScale and love.audio.getDopplerScale.
- Added optional duration argument to Joystick:setVibration.
- Added love.joystick.loadGamepadMappings and love.joystick.saveGamepadMappings.
- Added Joint:setUserData and Joint:getUserData.
- Added Joint:getBodies.
- Added GearJoint:getJoints.
- Added Body:getWorld.
- Added Body:getJointList.
- Added Contact:getFixtures and Body:getContactList.
- Added Body:isDestroyed, Fixture:isDestroyed, Joint:isDestroyed, and World:isDestroyed.
- Added love.mousemoved event callback.
- Added love.mouse.setRelativeMode and love.mouse.getRelativeMode.
- Added love.keyboard.getKeyFromScancode and love.keyboard.getScancodeFromKey.
- Added love.window.getDisplayName.
- Added love.window.minimize.
- Added love.window.showMessageBox.
- Added love.window.toPixels and love.window.fromPixels.
- Added love.window.setPosition and love.window.getPosition.
- Added
x
andy
fields to theflags
table in love.window.setMode and love.window.getMode, and to thet.window
table in love.conf. - Added
refreshrate
field to the table returned by love.window.getMode. - Added love.filesystem.isSymlink, love.filesystem.setSymlinksEnabled, and love.filesystem.areSymlinksEnabled.
- Added love.filesystem.getRealDirectory.
Deprecations
- Deprecated SpriteBatch:bind and SpriteBatch:unbind.
- Deprecated all uses of the name 'FSAA' in favor of 'MSAA'.
- Deprecated the
hdrcanvas
GraphicsFeature constant in favor of love.graphics.getCanvasFormats. - Deprecated the
dxt
andbc5
GraphicsFeature constants in favor of love.graphics.getCompressedImageFormats. - Deprecated love.window.getWidth, love.window.getHeight, and love.window.getDimensions in favor of the love.graphics equivalents or love.window.getMode.
Renamed APIs
- Renamed all cases of FSAA to MSAA. The FSAA names still exist for backward-compatibility.
Fixes
- Fixed crashes when LÖVE objects are garbage-collected in multiple threads simultaneously.
- Fixed love.filesystem.setIdentity breaking in some situations when called multiple times.
- Fixed the default love.filesystem identity when in Fused mode in Windows.
- Fixed love.system.openURL sometimes blocking indefinitely on Linux.
- Fixed love.joystick.setGamepadMapping.
- Fixed the order of vertices in ChainShapes.
- Fixed love.mouse.getPosition returning outdated values if love.mouse.setPosition was used in the same frame.
- Fixed love.graphics.newFont to error when given an invalid size argument.
- Fixed the file name, line number, and backtrace given if love.graphics.print errors.
- Fixed a small memory leak if love.graphics.newCanvas errors.
- Fixed Shader:getWarnings returning unnecessary information.
- Fixed a potential crash when Shader objects are garbage collected.
- Fixed a potential small memory leak triggered when love.graphics.newShader errors.
- Fixed love.graphics.newMesh(vertexcount, ...) causing the Mesh to do instanced rendering.
- Fixed Mesh:getVertexMap.
- Fixed Image:refresh generating mipmaps multiple times if mipmap filtering is enabled.
- Fixed Image:setMipmapFilter to not keep bad state around if it errors.
- Fixed Mesh:setDrawRange when the Mesh has a vertex map set.
- Fixed internal detection of the 'position' and 'effect' shader functions.
- Fixed some cases of noncompliant shader code not properly erroring on some nvidia drivers.
- Fixed Texture memory leak when Meshes are garbage collected.
- Fixed the default line join mode to be 'miter' instead of an undefined value.
- Fixed Canvas:getPixel to error if the coordinates are not within the Canvas' bounds.
- Fixed detection of compressed textures to work regardless of the file's extension.
- Fixed the default error handler screen's text size when highdpi mode is enabled on a Retina monitor in OS X.
- Fixed the default error handler background color when sRGB mode is enabled for the window.
- Fixed the state of wireframe mode when love.window.setMode is called.
- Fixed love.window.setMode to fall back to the largest available mode if a width or height greater than the largest supported is specified and exclusive-fullscreen mode is used.
Other Changes
- Updated the Windows executable to always prefer the higher performance GPU on nvidia Optimus systems.
- Updated the --console command-line argument in Windows to open the console before conf.lua is loaded.
- Updated t.console and the --console command-line argument in Windows to use the existing console window, if LÖVE was launched from one.
- Updated the love executable to verify that the love library version matches before using it.
- Updated the Lua wrapper code for modules to avoid crashes when the module's instance is created, deleted, and recreated.
- Updated internal code for handling garbage collection of love objects to be more efficient.
- Updated love's initialization code to trigger a Lua error if love.conf has an error in it.
- Updated love.filesystem.getSaveDirectory and friends to strip double-slashes ("//") from their returned paths.
- Updated the error message when love.filesystem.write or File:open fails because the directory doesn't exist.
- Updated error message when love.math.setRandomSeed(0) is attempted.
- Updated the error message when invalid UTF-8 strings are used in love functions that expect UTF-8.
- Updated love.physics.newChainShape to error if the number of arguments is invalid.
- Updated love.physics.newPolygonShape and love.physics.newChainShape to accept a table of vertices.
- Updated love.thread.newThread to accept a literal string of code.
- Updated love-created threads to use names visible in external debuggers.
- Updated SpriteBatch:unbind / SpriteBatch:flush to use less VRAM if the SpriteBatch has the static usage hint.
- Updated love.graphics.newImage, love.image.newImageData, etc. to leave less temporary Lua-owned memory around.
- Updated love.graphics.push to accept different stack types to push. Current types are "transform" and "all".
- Updated love shaders to accept GLSL ES precision qualifiers (
lowp
,mediump
, andhighp
) on variables, although they do nothing. - Updated the error message for love.graphics.newShader to be less cryptic if an invalid filename is given.
- Updated compressed texture loading code to support BC6 and BC7 compressed textures (if the graphics driver supports them.)