Get it at the bottom of this post!
It's been almost a year since the last version, and a super-exciting almost-year at that. LÖVE's gotten more and more exposure - it's being used in actual classes to teach game development, it shows up at game jams all over the world, and we've even got in-progress ports of LÖVE to Android and the web! People have been doing some great work in LÖVE, too – the obvious highlight is the devastatingly successful Mari0, but we've also got the Märch Showcase and, as always, fantastic work from our awesome community all throughout the forums.
0.8.0 brings a lot of exciting new things to the table. The biggest addition is shaders - using a (slightly modified) GLSL, you can write pixel effects to produce all sorts of awesome graphical radness. Mari0's got a whole bunch in its options section, or you can check out slime's upcoming game Snayke (slime also did the shaders for Mari0!). There's even a forum thread with some very useful shaders already posted, for you to use and dissect. We've also got support for displaying UTF-8 text, a new event system, and so much more. (See the changelog below.)
0.8.0 also breaks all sorts of stuff – most noteworthily, love.physics, which has been updated to the newest version of Box2D and had a commensurate API overhaul, but there's various minor API changes throughout the whole framework, so be careful when updating your games.
And as a final note, 0.8.0 officially drops support for PPC Macs. This should impact approximately nobody.
With that said, please enjoy LÖVE 0.8.0 - Rubber Piggy!
Code: Select all
LOVE 0.8.0 [Rubber Piggy] ------------------------- * Added release error screen. * Added alpha to love.graphics.setBackgroundColor. * Added Canvas:clear(r, g, b, a). * Added Canvas support to love.graphics.drawq. * Added Canvas:getWidth and Canvas:getHeight. * Added love.graphics.arc. * Added seek and tell to Source objects. * Added color interpolation to ParticleSystem. * Added automatic PO2 padding for systems not supporting the OpenGL extension. * Added UTF-8 support for fonts. * Added Box2D error handling for some commonly failing functions. * Added ability for fused release games to have their write dir in appdata. * Added shear transformation to drawing functions. * Added origin to font printing. * Added love.graphics.getMode. * Added per-sprite colors on SpriteBatches. * Added PixelEffects. * Added love.graphics.isSupported. * Added love.graphics.getCanvas. * Added love.event.quit. * Added stencil masks. * Added alternative SpriteBatch provider, it should work everywhere now. * Added a loader for binary modules. * Added Thread:getKeys. * Added option of fractions for Quads. * Added PNG, JPEG and GIF support to ImageData:encode. * Added 64-bit support for Mac OS X. * Added premultiplied blending mode. * Added functions to set/get default image filter modes. * Added SpriteBatch:set. * Added new events system, with support for custom events and long event names. * Added sound attenuation by distance. * Added SpriteBatch:getImage. * Added combine color mode. * Added automatic random seeding to love.run. * Added support for the subtract BlendMode on older graphics cards. * Added love._os field, which contains the OS the game is running on. * Fixed wrapping for single words. * Fixed tracebacks not showing filenames. * Fixed love.graphics.push/pop capable of causing overflows/underflows. * Fixed setScissor on Canvases. * Fixed several issues with audio, e.g. clicks and pops in mp3s. * Fixed crashes when bodies were destroyed during collisions. * Fixed bound SpriteBatches corrupting when drawing. * Fixed thread-safety issues with ImageData. * Fixed memory leaks in audio sources. * Fixed thread's set (previously send) accidentally changing the type. * Fixed SoundData allocating the wrong number of samples. * Fixed SpriteBatch support on Intel cards. * Fixed love.filesystem.lines() leaking. * Fixed most leaking on unclosed File objects. * Fixed crashes when operating on non-existent files. * Fixed a bug where empty files on windows would never reach eof. * Fixed crash when SoundData runs out of memory. * Fixed ordering of loaders, love should have priority over lua. * Fixed several miscellaneous memory leaks. * Fixed a few cases where strings with \0 in them would not be stored correctly. * Fixed love's startup time being in the first dt. * Fixed internal string conversions, they are faster now. * Fixed (bad) performance of ImageData:paste. * Fixed love.graphics.toggleFullscreen not maintaining graphics state. * Renamed SpriteBatch's lock/unlock to bind/unbind. * Renamed Framebuffer to Canvas. * Renamed love.thread.send/receive to set/get. * Renamed love.graphics.setRenderTarget to setCanvas. * Removed canvas auto-clearing. * Removed EncodedImageData. * Removed old syntax for require (with extension). * Removed love.graphics.setFont([file], [size]). * Removed Thread:kill. * Updated love.joystick to be 1-indexed. * Updated Sources to update more cleanly and control more intuitively. * Updated font engine. * Updated line drawing to a custom system. * Updated love.timer.sleep to use seconds, like the rest of love. * Updated love.timer to be more accurate. * Updated love.graphics.circle to have max(10, r) as default for segments. * Updated ImageData:encode to write to files directly. * Updated version compatibility system to actually do something. * Updated love.run's order, events are checked just before update. * Updated Box2D to version 2.2.1. * Updated sdl to 1.2.15 on Windows * Updated freetype to 2.4.9 on Windows * Updated libjpeg to 8d on Windows * Updated libmodplug to 0.8.8.4 on Windows * Updated libogg to 1.3.0 on Windows * Updated libpng to 1.5.10 on Windows * Updated mpg123 to 1.13.7 on Windows * Updated openal-soft to 1.14 on Windows * Updated zlib to 1.2.6 on Windows
- Windows installer: 32-bit 64-bit
- Windows zip: 32-bit 64-bit
- Mac OS X (10.5+): 32/64-bit Universal Binary
- Linux source tarball
- Ubuntu PPA: ppa:bartbes/love-stable
- Ubuntu Packages:
- We also have updated demos.