Difference between revisions of "11.0"

(Created page)
 
(Updated the changelog)
Line 6: Line 6:
  
 
=== Additions ===
 
=== Additions ===
* Added a variant to World:update, which accepts the number of iterations to run. The defaults are now 8 and 3.
+
* Added [[Object:release]].
* Added a click count argument to love.mousepressed and love.mousereleased.
+
* Added [[Data:clone]].
* Added love.filesystem.get/setCRequirePath, and use that to find c libraries for require.
+
* Added [[love.audio.newQueueableSource|queuable audio Sources]].
* Added Channel:hasRead, which checks if a message has been read. Takes an id, which Channel:push will now return.
+
* Added [[RecordingDevice|microphone recording]] support.
* Added love.math.encode/decode, which support hex and base64.
+
* Added low gain, high gain, and band pass [[Filter]]s to love.audio [[Source]]s.
* Added love.math.hash, which supports MD5, SHA-1 and the SHA-2 family.
+
* Added audio [[Effect]] APIs (reverb, echo, etc.)
* Added support for different ImageData formats, including RGBA8 (the default), RGBA16, RGBA16F, and RGBA32F.
+
* Added a variant to [[World:update]] for controlling the number of internal iterations to perform.
 +
* Added a click count argument to [[love.mousepressed]] and [[love.mousereleased]].
 +
* Added [[love.filesystem.setCRequirePath]] and [[love.filesystem.getCRequirePath]], and use that to find C libraries for require.
 +
* Added [[Channel:hasRead]], which checks if a message has been read. Takes an id, which Channel:push will now return.
 +
* Added [[love.math.encode]] and [[love.math.decode]], which support hex and base64.
 +
* Added [[love.math.hash]], which supports MD5, SHA-1 and the SHA-2 family.
 +
* Added [[Transform]] objects to [[love.math]].
 +
* Added support for different [[ImageData]] [[PixelFormat]]s, including RGBA8 (the default), RGBA16, RGBA16F, and RGBA32F.
 
* Added the ability to load Radiance HDR, OpenEXR, and 16 bit PNG images.
 
* Added the ability to load Radiance HDR, OpenEXR, and 16 bit PNG images.
* Added love.graphics.getRawImageFormats.
+
* Added [[love.graphics.getImageFormats]] (replaces [[love.graphics.getCompressedImageFormats]]).
* Added SpriteBatch:setDrawRange.
+
* Added the ability to specify a per-object pixel density scale factor when creating [[Image]]s, [[Canvas]]es, [[Font]]s, and [[Video]]s. Affects drawing.
* Added Shader:hasUniform.
+
* Added [[Texture:getPixelWidth]], [[Texture:getPixelHeight]], [[love.graphics.getPixelWidth]], and [[love.graphics.getPixelHeight]].
* Added support for non-square shader uniform matrices on desktop platforms.
+
* Added [[Texture:getPixelDensity]], [[love.graphics.getPixelDensity]], and [[Font:getPixelDensity]].
* Added Shader:send(matrixname, is_column_major, matrix, ...) which specifies how to interpret the matrix table arguments.
+
* Added Array, Cubemap, and Volume [[TextureType]]s, corresponding [[Texture]] APIs, and variants to [[love.graphics.newImage]] and [[love.graphics.newCanvas]] for creating different texture types.
* Added love.window.updateMode.
+
* Added [[love.graphics.getTextureTypes]], which returns a table with fields indicating support for each [[TextureType]].
* Added Object:release.
+
* Added [[love.graphics.drawLayer]], [[SpriteBatch:addLayer]], and [[SpriteBatch:setLayer]] for easily drawing layers of [[TextureType|Array Textures]]
* Added queueable audio sources.
+
* Added variants of [[love.graphics.print]] and [[love.graphics.printf]] which take a [[Font]] argument..
 +
* Added mipmapping support to [[Canvas]]es, including both auto-generated mipmaps and manually rendering to a specific mipmap level.
 +
* Added 'stencil8', 'depth24stencil8', 'depth32fstencil8', 'depth16', 'depth24', and 'depth32f' [[PixelFormat]]s for Canvases.
 +
* Added optional 'readable' boolean field to the table passed into [[love.graphics.newCanvas]].
 +
* Added variant of [[love.graphics.getCanvasFormats]] which takes a 'readable' boolean.
 +
* Added optional 'depthstencil' field to the table passed into [[love.graphics.setCanvas]], for using a depth/stencil formatted [[Canvas]] when rendering.
 +
* Added optional 'depth' and 'stencil' boolean fields to the table passed into [[love.graphics.setCanvas]], for enabling internal depth and stencil buffers if 'depthstencil' isn't used.
 +
* Added [[Texture:setDepthSampleMode|shadow sampler]] support for [[Canvas]]es.
 +
* Added variants of [[love.graphics.clear]] to control how the active depth and stencil buffers are cleared.
 +
* Added [[love.graphics.flushBatch]] for manually flushing automatically batched draws.
 +
* Added [[SpriteBatch:setDrawRange]].
 +
* Added per-[[Shader]] opt in support for the GLSL 3.30 and GLSL ES 3.00 shading languages.
 +
* Added 'void effect()' [[love.graphics.newShader|pixel shader entry point]].
 +
* Added [[love.graphics.validateShader]].
 +
* Added [[Shader:hasUniform]] (replaces [[Shader:getExternVariable]]).
 +
* Added support for non-square [[Shader]] uniform matrices on desktop platforms and on mobile GLSL 3.
 +
* Added [[Shader:send]](matrixname, is_column_major, matrix, ...) which specifies how to interpret the matrix table arguments.
 +
* Added 'borderellipse' and 'borderrectangle' [[ParticleSystem]] distributions.
 +
* Added [[ParticleSystem:setAreaSpreadAngle]], [[ParticleSystem:getAreaSpreadAngle]], [[ParticleSystem:setAreaSpreadIsRelativeDirection]], and [[ParticleSystem: setAreaSpreadIsRelativeDirection]].
 +
* Added [[love.graphics.captureScreenshot]] (replaces [[love.graphics.newScreenshot]]).
 +
* Added 'glsl3', 'instancing', 'fullnpot','pixelshaderhighp', and 'shaderderivatives' [[GraphicsFeature]]s.
 +
* Added 'anisotropy' graphics [[SystemLimit]].
 +
* Added hardware [[Mesh]] instancing support via [[love.graphics.drawInstanced]] and a new [[Mesh:attachAttribute]] variant.
 +
* Added a [[Mesh:attachAttribute]] variant that takes a different target attribute name.
 +
* Added [[Mesh:detachAttribute]].
 +
* Added a variant of [[Mesh:setVertexMap]] which accepts a [[Data]] object.
 +
* Added the ability to prevent love from creating a stencil buffer for the window in [[love.conf]] and [[love.window.setMode]].
 +
* Added [[love.window.updateMode]].
 +
 
 +
 
 +
=== Renamed APIs ===
 +
* Renamed [[love.window.getPixelScale]] to [[love.window.getPixelDensity]].
  
  
 
=== Removals ===
 
=== Removals ===
* Removed the default source type for love.audio.newSource.
+
* Removed the default source type for [[love.audio.newSource]].
* Removed variant of love.filesystem.newFileData which takes base64 data, use love.math.decode instead.
+
* Removed variant of [[ove.filesystem.newFileData]] which takes base64 data, use [[love.math.decode]] instead.
* Removed the no-argument variant of Text:set, use Text:clear instead.
+
* Removed the no-argument variant of [[Text:set]], use [[Text:clear]] instead.
* Removed Shader:getExternVariable, use Shader:hasUniform instead.
+
* Removed [[love.graphics.getCompressedImageFormats]], use [[love.graphics.getImageFormats]] instead.
 +
* Removed the 'void effects(...)' [[love.graphics.newShader|pixel shader entry point]]. Use the new 'void effect()' instead.
 +
* Removed [[Shader:getExternVariable]], use [[Shader:hasUniform]] instead.
 +
* Removed [[love.graphics.newScreenshot]], use [[love.graphics.captureScreenshot]] instead.
 +
* Removed deprecated [[enet]] function [[host:socket_get_address]].
 
* Removed functions deprecated in LÖVE 0.10.2:
 
* Removed functions deprecated in LÖVE 0.10.2:
** Removed Shader:sendInt, Shader:sendBoolean, Shader:sentFloat, Shader:sendMatrix, and Shader:sendTexture (use Shader:send instead).
+
** Removed undocumented [[Shader:sendInt]], [[Shader:sendBoolean]], [[Shader:sentFloat]], [[Shader:sendMatrix]], and [[Shader:sendTexture]] methods (use [[Shader:send]] instead).
** Removed love.window.isCreated (use love.window.isOpen instead).
+
** Removed [[love.window.isCreated]] (use [[love.window.isOpen]] instead).
 +
 
 +
 
 +
=== Performance Improvements ===
 +
* Improved performance when drawing [[Textures]], shapes, lines, and points by automatically batching their draw calls together when possible.
 +
* Improved performance of [[Shader:send]] when the Shader is not active.
 +
* Improved performance of [[love.math.randomNormal]] when LuaJIT's JIT compiler is enabled.  
  
  
 
=== Other changes ===
 
=== Other changes ===
* Changed all color values to be in the range 0-1, rather than 0-255.
+
* Changed all color values to be in the range 0-1, rather than 0-255. This affects the following functions:
* Changed love.graphics.print and friends to ignore carriage returns.
+
** [[love.graphics.setColor]], [[love.graphics.getColor]], [[love.graphics.setBackgroundColor]], and [[love.graphics.getBackgroundColor]].
* Changed the 'multiply' blend mode to error if not used with the 'premultiplied' blend alpha mode, since the formula only works with that anyway.
+
** [[SpriteBatch:setColor]] and [[SpriteBatch:getColor]].
* Changed the audio playback APIs drastically.
+
** [[ParticleSystem:setColors]] and [[ParticleSystem:getColors]].
* Updated Source:seek to work if the Source isn't playing.
+
** [[love.graphics.newMesh]], [[Mesh:setVertex]], and [[Mesh:getVertex]].
* Updated love.math.random to have improved numeric distribution.
+
** The colored text variants of [[love.graphics.print]], [[love.graphics.printf]], [[love.graphics.newText]], [[Text:set]], [[Text:setf]], [[Text:add]], and [[Text:addf]].
* Updated love.graphics.circle/ellipse/arc/rectangle to take transformation scale into account when determining the number of segments to use.
+
** [[Shader:sendColor]].
* Updated Mesh:setDrawRange to take 'start' and 'count' parameters instead of 'min' and 'max'.
+
** [[love.graphics.points]].
* Updated Canvas:newImageData to return an ImageData with a format that matches the Canvas' as closely as possible.
+
** [[ImageData:setPixel]], [[ImageData:getPixel]], and [[ImageData:mapPixel]].
* Updated the 'vsync' field of love.window.setMode and t.window in love.conf. It's now an integer with 0 disabling vsync.
+
* Changed high-dpi functionality to require much less code (often none at all) for things to appear at the correct sizes and positions.
 +
* Changed [[love.graphics.print]] and friends to ignore carriage returns.
 +
* Changed the 'multiply' [[BlendMode]] to error if not used with the 'premultiplied' [[BlendAlphaMode]], since the formula only works with that anyway.
 +
* Changed some [[love.graphics]], [[love.window]], and [[love.event]] APIs to cause an error if a [[Canvas]] is active.
 +
* Changed stenciling functionality with a [[Canvas]] active to require stencil=true (or a custom stencil-formatted [[Canvas]]) to be set in [[love.graphics.setCanvas]].
 +
* Changed [[Mesh:setDrawRange]] to take 'start' and 'count' parameters instead of 'min' and 'max'.
 +
* Changed the 'vsync' field of [[love.window.setMode]] and t.window in [[love.conf]]. It's now an integer with 0 disabling vsync.
 +
* Changed the [[love.audio]] playback APIs drastically.
 +
* Changed [[Source]] seeking behaviour, all kinds of Sources now behave similarly when seeking past the boundaries.
 +
* Changed [[enet]] to no longer set the 'enet' global.
 +
* Updated [[Source:seek]] to work if the [[Source]] isn't playing.
 +
* Updated [[love.math.random]] to have improved numeric distribution.
 +
* Updated [[love.graphics]] to support Core Profile OpenGL 3.3+ when available.
 +
* Updated [[Shader]]s to always expose derivative functions (dFdx, dFdy, fwidth) when available in OpenGL ES.
 +
* Updated [[love.graphics.circle]], [[love.graphics.ellipse]], [[love.graphics.arc]], and [[love.graphics.rectangle]] to take transformation scale into account when determining the number of segments to use.
 +
* Updated [[Font]] glyph generation to improve antialiasing.
 +
* Updated [[Canvas:newImageData]] to return an [[ImageData]] with a format that matches the [[Canvas]]' as closely as possible.
 +
* Updated [[love.graphics.newImage]] to treat file names ending with "@2x", "@3x", etc. as a pixel density scale factor if none is explicitly supplied.
 +
* Updated [[socket|luasocket]] to version 3.0rc1.
 +
 
 +
 
 +
=== Fixes ===
 +
* Fixed a memory leak when sending love [[Object]]s to threads which never load that object's module.
 +
* Fixed os.execute always returning -1 in Linux.
 +
* Fixed the default reference angle for [[WeldJoint]], [[PrismaticJoint]], and [[RevoluteJoint]].
 +
* Fixed [[love.system.setClipboardText]] and [[love.system.getClipboardText]] to error instead of crashing, when a window hasn't been created.
 +
* Fixed [[Joystick:getGamepadMapping]] to work with xinput controllers.
 +
* Fixed baseline calculation when rendering text.
 +
* Fixed [[Shader Variables|VaryingTexCoords]] and [[Shader Variables|love_ScreenSize]] in shaders to be 'highp' in OpenGL ES, when supported.
  
  
 
[[Category:Versions]]
 
[[Category:Versions]]

Revision as of 23:00, 16 July 2017

O.png 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.  


The codename for LÖVE 0.11.0 is not yet announced. It is currently not released.

Changes from 0.10.2

Additions


Renamed APIs


Removals


Performance Improvements

  • Improved performance when drawing Textures, shapes, lines, and points by automatically batching their draw calls together when possible.
  • Improved performance of Shader:send when the Shader is not active.
  • Improved performance of love.math.randomNormal when LuaJIT's JIT compiler is enabled.


Other changes


Fixes