Difference between revisions of "12.0"

m (Update changelog)
m
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.}}
 
{{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.}}
  
The codename for LÖVE 12.0 is TBD. It is currently '''<span style="color:#ff0000;">not released</span>'''.
+
The codename for LÖVE 12.0 is '''Bestest Friend'''. It is currently '''<span style="color:#ff0000;">not released</span>'''.
  
 
== Changes from [[11.5]] ==
 
== Changes from [[11.5]] ==

Revision as of 00:31, 14 January 2025

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 12.0 is Bestest Friend. It is currently not released.

Changes from 11.5

Additions

General


Data


Filesystem


Audio


Input


Math


Physics


Graphics

  • Added a Metal backend to love.graphics, available on macOS 10.15+ and iOS 13+.
  • Added a Vulkan backend to love.graphics, available on Windows, Linux, and Android 7+.
  • Added '--renderers a,b,c' and '--excluderenderers a,b,c' command line arguments.
  • Added t.renderers and t.excluderenderers love.conf options.







Changes

  • Changed the primary build system for Linux to CMake instead of autotools.
  • Changed the minimum runtime macOS version to 10.15.
  • Changed the minimum runtime iOS version to 13.0.
  • Changed the minimum runtime Windows version to Windows 7 SP1 (64 bit).
  • Changed the minimum runtime graphics requirement to OpenGL 3.3+, OpenGL ES 3.0+, Vulkan 1.0+, or Metal.



  • Changed love.filesystem.exists to no longer be deprecated.
  • Changed love.data.hash to have a container type parameter.
  • Changed the size parameter of love.data.newDataView to be optional.
  • Changed the default font from Vera size 12 to Noto Sans size 13.
  • Changed TrueType and OpenType font handling to have improved kerning and character combining support.



  • Changed the Texture class and implementation to no longer have separate Canvas and Image subclasses.
  • Changed Textures created from image files and from ImageData to no longer hold onto a CPU copy of their pixel data after creation.
  • Changed love.graphics.newImage to error instead of loading a placeholder texture, when the image dimensions are too large for the system.
  • Changed love.graphics.newImage to allow creating a mipmapped texture with less than the full mipmap range, instead of erroring.
  • Changed love.graphics.newMesh to no longer default to the "fan" Mesh draw mode.
  • Changed the behaviour of Meshes to no longer allow a vertex map or index buffer when the "fan" mesh draw mode is used.
  • Changed love.graphics.draw(Mesh) to no longer error if the Mesh has no 'VertexPosition' attribute but does have custom vertex attributes.
  • Changed Mesh:getVertexFormat to use named fields, to match the new vertex format parameter setup in love.graphics.newMesh.
  • Changed love.window.setMode to no longer clear the contents of Canvases or otherwise recreate graphics resources.
  • Changed love.graphics.rectangle, love.graphics.polygon, and other shape drawing APIs to provide texture coordinates to shaders, for filled shapes.
  • Changed love.graphics.points to require 'love_PointSize' to be set in the vertex shader, if a custom shader is used.
  • Changed love.graphics.setCanvas to always clear auto-generated temporary depth and stencil buffers when they're used.
  • Changed love.graphics.clear to no longer be affected by love.graphics.setScissor or love.graphics.setColorMask.
  • Changed love.graphics.setDepthMode with the depth write parameter set to true to error if the active Canvases or window don't have a depth buffer.
  • Changed text layout and rendering in high-dpi situations to be more consistent across DPI scales.
  • Changed Shader code parsing to ignore shader entry point functions inside comments.
  • Changed Shader code to use GLSL3 (GLSL 3.30 or GLSL ES 3.00) by default.
  • Changed position output coordinate space in vertex shaders to be consistent across all graphics APIs and regardless of whether a Canvas is active.
    • Clip-space output is y-up. Texture contents and pixel shader coordinates are y-down.


  • Changed audio file decoding to choose the most appropriate decoder based on file contents instead of the file extension.
  • Changed audio initialization to give a more descriptive error if it fails.
  • Changed Videos to stream audio from the file instead of loading all the video file into memory for use with audio decoding.
  • Changed love.math.perlinNoise and love.math.simplexNoise to use higher precision numbers for its internal calculations.
  • Changed the t.accelerometerjoystick love.conf flag to be unset by default.
  • Changed the window 'depth' field in love.conf and love.window.setMode/updateMode/getMode to be a boolean instead of a bit count number.



  • Updated Box2D from 2.3 to 2.4.1
  • Updated LuaSocket from 3.0-rc1 to 3.1.0.


Deprecations


Removals


Fixes

  • Fixed BezierCurve:render adding collinear points in some situations.
  • Fixed sound Decoders to cause a Lua error instead of hard-crashing when memory for the decoding buffer can't be allocated.
  • Fixed full platform-specific paths in love.filesystem APIs to use a consistent canonical representation for the platform.