SFML v2.5.1 Release Notes

Release Date: 2018-10-15 // over 2 years ago
  • 🔄 Changelog

    SFML 2.5.1

    Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.5.1

    General

    • 🛠 Various CMake fixes (#1414, #1416, #1436, #1439, #1467, #1470)
    • 🛠 Fixed the installation of pkg-config files (#1466)
    • 🛠 Fixed two conversion warnings (#1454)
    • 🛠 [Android] Fixes all symbols in sfml-main are hidden (#1457, #1460)
    • 🛠 [Android] Fixed some #define flag problem (#1458)
    • [Android] Fix deadlock in main cleanup (#1265)
    • [iOS] Modernized toolchain file (#1411)
    • [iOS] Check that <SFML/Main.hpp> is used (#1412)
    • 🍎 [macOS] Add -ObjC flag to fix static linking on macOS (#1485)

    Window

    🛠 Bugfixes

    • 0️⃣ [iOS] Use default supported rotations when none are specified (#1417)
    • 🛠 [iOS] Fixed autocomplete window overlaps keyboard (#1473, #1482)
    • 🐧 [Linux] Fixed dual monitor issue (#1226, #1238)
    • 🐧 [Linux] Fixed issue where fullscreen window didn't go over task bars on top and left on in Ubuntu (#1224)
    • 🐧 [Linux] Fixed the Unix clipboard implementation causing an abort due to internal data races in Xlib (#1437)
    • 🍎 [macOS] Added additional system cursors (#1401, #1413, #1425)
    • 🏁 [Windows] Fixed swapped colors for custom cursors (#1464, #1465, #1491)

    Graphics

    🛠 Bugfixes

    • 🛠 Fixed a bug in which a sf::RenderTexture would not be re-activated after being re-created (#1438)
    • 🛠 Fixed sf::RenderTextureImplFBO's destructor incorrectly triggering deletion of other sf::RenderTextureImplFBO's active FBOs (#1440)
    • 🛠 Fix sf::RenderWindow::setActive incorrectly trying to unbind an FBO during deactivation (#1442)
    • 🛠 Fixed sf::RenderTexture::display() dereferencing a NULL pointer when being called before sf::RenderTexture::create() (#1446)
    • 🛠 Fixed bug in sf::Text when applying an outline color/thickness (#1176)
    • Squash duplicated sf::Font glyphs to single chars (#1461)
    • 🛠 Fixed two issues with glyph sub-pixel positioning (#1452)
    • ⬇️ Reduced context locking & unlocking while creating textures (#1459)
    • 🛠 Fixed the error message when the wrong bitmap font size is selected (#1456, #1474, #1492)

    Audio

    🛠 Bugfixes

    • 🛠 Fixed performance issue with reading WAV files (#1450)

Previous changes from v2.5.0

  • 🔄 Changelog

    SFML 2.5.0

    Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.5.0

    General

    • Replaced FindSFML.cmake with SFMLConfig.cmake (#1335)
    • ⚡️ Markdown'd and updated readme, changelog, contributing and license files (#1196, #1368, #1317)
    • 👌 Improve packaging support (#1173)
    • ➕ Added Tagfile generation and search (#1327)
    • ➕ Added CMake variables to select the modules to be built (#798, #800)
    • 👉 Do not install extlibs if SFML_USE_SYSTEM_DEPS is true (#1236, #1237)
    • 🛠 Fixed various type conversion/comparison warnings (#1325)
    • [Android] Increased minimum API version to 14 (#1362)
    • 🚚 [Android] Removed custom toolchain and added support for the newest NDK version and Gradle (#1350, #1393)
    • ⚡️ [iOS] Updated the binary libs from exlibs/libs-ios (#1207, #1209)
    • 🏗 [iOS] Use a CMake toolchain file for iOS build (#1268, #1269)
    • [iOS] Install extlibs if needed (#1348)
    • 👍 [iOS] Drop 32 bit support (#1374)
    • [iOS] Force correct iOS architecture for cmake (#1373, #1377)
    • [iOS] Added iOS example (#1378)
    • 🍎 [macOS] Fixed launch of cocoa examples (#1334)
    • 🍎 [macOS] Improved application signing process (#1020, #1036, #1194)
    • 🍎 [macOS] Improved CMake script (#1215, #1371)
    • 🍎 [macOS] Use -stdlib=libc++ (#1361)
    • 👍 [OpenBSD] Added support for OpenBSD (#1330)

    System

    🛠 Bugfixes

    • ➕ Added protected destructor to sf::NonCopyable to prevent possible resource leaks (#1125, #1161)
    • 🛠 Fixed crash when sf::Clock is constructed in a global scope (#1258)

    Window

    🔋 Features

    • Implemented Cursor API (#269, #784, #827)
    • Implemented Clipboard API (#715, #1204, #1221)
    • 📇 Renamed a few key codes (#1395)
    • ➕ Added joystick example (#1363)
    • 🏁 [Windows] Added support for interfacing with joysticks via DirectInput when it is available (#1251, #1326)
    • 🏁 [Windows] Fix discrete GPU preference symbols being exported from the wrong place (#1192, #1406)

    🛠 Bugfixes

    • [Android] Return correct key code for delete/backspace (#1309, #1362)
    • [iOS] Don't need to find vorbisfile or vorbisenc (#1347)
    • 🐧 [Linux] Fixed sf::Window::getPosition() returning incorrect position because of differences in window managers (#1228, #1266)
    • 🐧 [Linux] Fix X11 key repeat handling not filtering out events from other windows (#1223, #1230, #1291)
    • 🐧 [Linux] Restore fullscreen of a non-visible window (#1339)
    • 🍎 [macOS] Fixed window menu not working (#1091, #1180, #1193)
    • 🍎 [macOS] Fixed crash with application messing hardware detection e.g. TeamViewer (#1323)
    • 🍎 [macOS] Added support for (some) Hat/POV axis (#1248)
    • 🏁 [Windows] Prevent uninitialized read by zeroing memory (#1264)
    • 🏁 [Windows] Fixed modifier keys handling (#1357)

    Graphics

    🔋 Features

    • Implemented additional line spacing and letter spacing in sf::Text (#928, #1366)
    • ➕ Added sf::VertexBuffer class (#1308)
    • ➕ Added GPU local texture copying support, allowing performance optimizations and texture swapping (#1119, #1319, #1320)
    • 🐎 Optimize performance by skipping glTexCoordPointer() call if not needed (#1015)
    • Generate shape outline vertices only if necessary (#925, #1356)
    • Removed dependency to libjpeg, stb_image_write now supports writing JPEG files (#1278, #1279)
    • ⚡️ Enable comparing sf::Transform and optimize resetting OpenGL back to the identity matrix (#1298)
    • ➕ Added missing setActive() virtual method to sf::RenderTarget (#1157)
    • Updated stb_image to v2.16 and stb_image_write to v1.07 (#1270)
    • ➕ Added sf::RenderTexture stencil and multisampling support (#1274, #1285)
    • ➕ Added example demonstrating sf::VertexBuffer, sf::Shader and sf::Thread usage (#1352)
    • 🐎 Optimized sf::RenderTexture performance (#1379)

    🛠 Bugfixes

    • 🆓 Properly free memory in sf::Font::cleanup() (#1119)
    • 🛠 Fixed memory leak in sf::Font (#1216)
    • 🛠 Fix OpenGL texture coordinate pointer not being updated correctly under certain conditions (#1297)
    • 🛠 Fix for broken text when the font is reloaded (#1345)
    • 🛠 Fix memory leak in sf::Text (#1233, #1360)
    • 🛠 Fixed strict aliasing punning warning when generating the key of a glyph in Font.cpp (#1187, #1396)
    • 🛠 Fixed OpenGL version string being parsed incorrectly on some platforms (#1249, #1390)
    • 🍎 [macOS] Worked around render target bug (#1132, #1342)
    • 🏁 [Windows] Replaced time-based joystick poll with a hardware event handler (#1179, #1195, #1198, #1199, #1421)

    Audio

    🔋 Features

    • ➕ Added loop point support to sf::Music (#177, #629)
    • ➕ Added support for the extensible PCM wave file format (#1296)
    • [iOS] Enable audio module (#1338)

    🛠 Bugfixes

    • 🛠 Fixed inconsistent seek behavior in sf::SoundStream (#1118)
    • 🛠 Fixed stack overflow in sf::SoundStream::fillAndPushBuffer() (#1154)
    • 🛠 Fixed seeking quirks in the FLAC reader (#966, #1162)
    • 👍 Allow polymorphism with sf::SoundSource (#1185)
    • 🛠 Fixed WAV file writer writing wrong header values (#1280, #1281)
    • 🛠 Small bugfix to argument of alcCaptureOpenDevice() (#1304, #1305)
    • [iOS] Find OpenAL correctly (#1263, #1376)
    • ⚡️ [Windows] Updated OpenAL Soft to 1.18.1 fixing crashes (#1247, #1260)

    Network

    🔋 Features

    • ➕ Add append/overwrite parameter to Ftp::upload (#1072, #1399)

    🛠 Bugfixes

    • 🛠 Fixed wrong condition for building network support (#1253)
    • 🔄 Changed TCP listen backlog from 0 to SOMAXCONN (#1369, #1407)
    • 🛠 Fixed socket reuse not conforming to documentation (#1346, #1408)