This is primarily a bugfix release plus a small number of new features and changes. The main highlights are:
LuaJIT 2.1 is now used in all builds where LuaJIT is bundled with LÖVE (macOS, Windows, iOS, Android, Linux AppImage).
LÖVE now has native Apple Silicon / arm64 support on macOS.
Of the many fixes, the most important one is a memory corruption / crash fix for love.graphics.line and other line-rendering APIs.
The full changelog is available on the wiki, and download links are on the LÖVE homepage.
----
Work has also been progressing on LÖVE 12.0. We don't have a release date yet but you can see the latest in-progress changelog in the git repository, with a few more major features planned (e.g. basic HTTPS support and a Metal graphics backend) in addition to what's there already.
grump wrote: ↑Tue Jan 04, 2022 4:48 pm
Hm, that is unfortunate. 2.1 supports 64-bit bitops but this means you can't rely on them being present when distributing plain love files.
Another option would be using the relocatable nature of the 11.4 AppImage. You can "fuse" your game with the 11.4 Linux binaries and distribute that along your game.
Profile. Do you encounter crashes in LÖVE Android and wanna send me logcats? Please hit me up in LÖVE Discord and send the full logcat file!
AuahDark wrote: ↑Tue Jan 04, 2022 5:07 pm
Another option would be using the relocatable nature of the 11.4 AppImage. You can "fuse" your game with the 11.4 Linux binaries and distribute that along your game.
I am aware; I build and distribute an AppImage that runs LÖVE games for all versions from 0.8.0 to 11.3. That reminds me: I have to release an update soon.
My main concern is that 64-bit ops still require a fallback in libraries, and stuff posted as .love files only. Not a huge issue, just not ideal. Thanks for the info.
Nice one, especially the native Apple Silicon support!
Is there any way to detect the current running architecture (e.g. love.system.getArch() or something)? Currently I have a game using a compiled C library, gifcat, which instacrashes on 11.4 since my precompiled .so file is for x86_64 architectures (which worked fine on 11.3/Rosetta).
Error: Thread error (Thread: 0x6000015e0a00)
deps/gifcat.lua:207: dlopen(/path/gifcatlib.so, 0x0006): tried: '/path/gifcatlib.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e'))
If there's a way to detect the architecture, then I can just compile multiple .so files for each architecture and dynamically load the correct one at runtime. Open to other solutions as well!