Skip to content

Releases: SFML/SFML

SFML 3.1.0

Choose a tag to compare

@eXpl0it3r eXpl0it3r released this 16 Apr 14:22

SFML 3.1 is finally out! πŸ₯³

While "only" a minor version, it brings major updates feature wise. The highlights are:

  • Complete revamped text rendering engine using the power of HarfBuzz, cpp-unicodelib and SheenBidi. SFML can finally render complex text layouts, bi-directional texts, provides more glyph-level information and allows for rendering customization.
  • The network module joins the 21st century by supporting TLS, HTTPS, IPv6, and SFTP! Additionally, a DNS client has been introduced.
  • Unicode support in various parts of the library has been improved.
  • Lots of improvements for Android and iOS.

See the [migration guide] on how to migrate from deprecated methods.

Changelog

General

System

Features

  • Support for std::string_view in sf::String (#2445, #2517)
  • Add sf::Vector3u type alias for consistency (#3529)
  • Added support for retrieving the library version that is loaded at runtime via sf::version() (#3691)

Bugfixes

  • Move vector function definitions to inline file so static_asserts are hit correctly (#3623)
  • Make Unicode conversions more robust against invalid data (#3628)

Window

Features

  • Add non-const overload of sf::Event::getIf (#3367)
  • Add tests for sf::Mouse (#3370)
  • Provide additional checks for arguments in WindowBase::handleEvents (#3375)
  • Add non-const overload of Event::visit (#3396)
  • [Windows] Expand sf::WindowHandle tests (#3444)
  • Update glad GL headers one final time (#3491)
  • [iOS] Remove deprecated (no-op) setStatusBarOrientation (#3600)
  • [Android] Android scan code and description implementations (#3618)
  • Add key release events to event handling example (#3626)
  • [Android] Add joystick support for Android (#3497)

Bugfixes

  • [macOS] Use CGWarpMouseCursorPosition to set mouse position on macOS (#1574, #3648)
  • [macOS] Remove NSOpenGLPFAAccelerated attribute to allow mac software renderer (#1640, #3649)
  • [Android] Fix crash on Android when requesting the position of a touch that isn't down, and deprecate fake "realtime" touch API (#2257, #3634)
  • [Android] Fix backspace TextEntered event for Android (#2272, #3665)
  • [Linux] Fixed and improved multiple issues with the X11 window implementation (#2943, #2947, #3676, #3677, #3684)
  • [iOS] Use viewWillTransitionToSize to handle orientation changes on iOS (#3241, #3635)
  • Make glCheckError take a std::string_view rather than constructing a std::filesystem::path on error checks (#3359)
  • Make keyboard key/scancode count variables inline (#3379)
  • Revert Event::visit regression and add test (#3400)
  • [Windows] Fix using Emoji with sf::Clipboard (#3435)
  • [iOS] iOS fixes (#3436)
  • [Windows] Fix using Emoji in Windows window titles (#3437)
  • [Android] Block window creation on Android until async process finishes (#3521, #3643)
  • Move the JoystickRecord directly into the vector (#3560)
  • [macOS] Add missing cast between NSWindow and SFOpenGLView (#3596)
  • [Windows] Silence warning about default DirectInput version (#3598)
  • [iOS] When creating a window on iOS send a resized event if needed (#3610)
  • [Android] When backgrounding on Android we still need to recreate the surface (#3658)
  • [macOS] Fixed allocated buffer being too small when converting CFStringRef to std::string in the macOS joystick implementation (#3679, #3681)

Graphics

Features

  • Improved text layout and shaping (#246, #2713, #2988, #3053, #3543, #3625)
  • Enable range based looping of sf::VertexArray (#3366)
  • Added support for making OpenGL errors fatal (#3468)
  • Add support for QOI image format (#3554, #3700)
  • Applied "Return Early Pattern" in some places (#3611)
  • Support Unicode 17.0 (update cpp-unicodelib and SheenBidi) (#3666)

Bugfixes

  • Bevel shape outline beyond threshold (#2727, #2741)
  • Fix #647 sf::Image support for Unicode filenames save/load (#3403)
  • Fix opening sf::Font from non-ASCII path (#3422)
  • Reduce warnings inside Windows Vm (#3489)
  • Deprecate sf::Font::getKerning overload which uses std::uint32_t to represent Unicode codepoints (#3518)
  • Prevent copy of shaper by moving the shared_ptr (#3558)

Audio

Features

  • Improve audio device and stream rerouting management (#3490, #3523)
  • Add sf::PlaybackDevice::getDeviceSampleRate (#3525)
  • [Linux] Update miniaudio to version 0.11.24 (#3640, #3641)

Bugfixes

  • Fix saving FLAC files to non-ASCII paths (#3421)
  • Fix wrong function name in SoundBuffer comment (#3488)
  • Add missing <ostream> include in OutputSoundFile.cpp (#3499, #3500)
  • Use const ref instead of cloning channelMap (#3519)
  • Update miniaudio to v0.11.22. (#3524)
  • Fixed wrong sample count being reported for certain ogg audio files (#3578, #3579)
  • Set audio playback periodSizeInFrames to allow playing very short duration audio clips (#3702)

Network

Features

  • Add support for IPv6 and more types of DNS queries (#307, #1023, #3667)
  • Improve sf::SocketSelector usability and scalability (#2574, #3674)
  • Add TLS and HTTPS support (#3545, #3694, #3696)
  • Added support for SFTP as a replacement for FTP (#3675, #3687)

Bugfixes

  • Added boolean return value to sf::Http::setHost. Added test to sf::Http::setHost. Made sf::Http::sendRequest const (#3542, #3629)
  • Prevent copy of message by moving the string (#3559)
  • Fixed sf::SocketSelector epoll implementation not correctly interpreting sf::Time::Zero as a request to wait indefinitely (#3683)
  • [Linux] Allow configuring the maximum number of file descriptors opened during network tests (#3693, #3695)

Unit Tests

  • Update Catch2 (#3387, #3552)
  • Tests for loading files with non-ASCII filenames (#3410, #3413, #3415, #3416)
  • Harden copyability tests to test for triviality (#3411)
  • Test for trivial move operations (#3414)
  • Revamp sf::String tests (#3418)
  • Add tests for sf::OutputSoundFile (#3419)
  • Use Catch2 generators to simplify tests (#3420)
  • Add a CMake option to disable internet tests (#3429)
  • Revamp sf::Utf<N> tests (#3430)
  • Add test for empty window title (#3438)
  • [Windows] Add initial testcases for Win32 WindowHandle construction of WindowBase (#3439, #3444)
  • Fix printing sf::Vector2 in window tests (#3452)
  • Work around issue with Catch2 (#3472)
  • Separate CMakeLists for each test target (#3573)
  • [Android] Support for testing android on windows and mac (#3590)
  • [macOS] When using xcode discover tests before test to avoid running unsigned code (#3647)

Contributors

A big THANK YOU to the following people:

And additionally these lovely people:

SFML 3.0.2

Choose a tag to compare

@eXpl0it3r eXpl0it3r released this 18 Sep 05:52

A few bugfixes and some build configuration enhancements, including automated release builds.

Changelog

General

System

Bugfixes

  • Add explicit cast for charN_t conversion for Clang 21 (#3571)

Window

Bugfixes

  • [Android] Fix issue with Re-creation of Windows on Android (#3507)

Graphics

Bugfixes

  • Assert positive size and in-bounds position for copy area (#3539, #3541)
  • [Android] Fixed normalized texture coordinates when NPOT textures aren't supported (#3460, #3461)

Audio

Bugfixes

  • Fixed audio engine attempting to read data from previously destroyed objects (#3503, #3522)

Contributors

We're thankful to everyone who helped with this release! πŸŽ‰

SFML 3.0.1

Choose a tag to compare

@ChrisThrasher ChrisThrasher released this 22 Apr 15:18

We're happy to release a number of bug fixes for SFML 3!

Changelog

General

  • Improved SFML 3 migration guide (#3464, #3478, #3480)
  • Improved diagnostics when incorrect library type is found by find_package (#3368)
  • Improved diagnostics when C++ language version is too low (#3383)
  • Fixed build errors when compiling in C++20 mode (#3394)
  • [iOS] Fixed iOS debug build (#3427)
  • Removed -s suffix for sfml-main (#3431)
  • Prevented recreation of UDev target which broke package manager workflows (#3450)
  • Fixed bug with installing pkgconfig files (#3451)
  • Fixed CMake 4 build error (#3462)
  • [macOS] Fixed C++ language version in Xcode template (#3463)

System

Bugfixes

  • [Windows] Silenced C4275 warning for sf::Exception (#3405)
  • Fixed printing Unicode filepaths when error occurs (#3407)

Window

Bugfixes

  • Improved sf::Event::visit and sf::WindowBase::handleEvents (#3399)
  • [Windows] Fixed calculating window size with a menu or an extended style (#3448)
  • [Windows] Fixed crash when constructing a window from a sf::WindowHandle (#3469)

Graphics

Bugfixes

  • Fixed sf::Image support for Unicode filenames (#3403)
  • Ensured sf::Image remains unchanged after an unsuccessful load (#3409)
  • Fixed opening sf::Font from non-ASCII paths (#3422)
  • [Android] Fixed crash when loading missing resources (#3476)

Network

Bugfixes

  • Fixed comments and address ordering in IpAddress::getLocalAddress (#3428)
  • Fixed unsigned overflow in sf::Packet size check (#3441)

Contributors

Thank you! πŸŽ‰

SFML 3.0.0

Choose a tag to compare

@eXpl0it3r eXpl0it3r released this 21 Dec 18:14

We are very excited to announce the release of SFML 3! πŸŽ‰

After close to 12 years since the last major version of SFML came up, it's time for an upgrade!
Three years in the making, with over 1'100 commits, 41 new contributors, and a lot of time invested, we want to thank each and everyone who helped make SFML 3 a reality.
A massive thank you to @ChrisThrasher, who relentlessly pushed SFML 3 forward and has by far contributed the most time and effort-wise, with over 500 pull requests to his name alone! A special thank you also to @vittorioromeo for laying the foundation early onto which SFML 3 was built. πŸ™Œ

Highlights

  • SFML has finally been updated to support and use C++17 βš™οΈ
  • The test suite has been massively expanded to 57% code coverage πŸ§ͺ
  • OpenAL has been replaced with miniaudio πŸ”Š
  • New and improved event handling APIs ⌨️
  • Scissor and stencil testing πŸ–ΌοΈ
  • And more...

See the changelog for more details.

We have also overhauled the website, which next to being mobile friendlier should allow us to update the website more easily.

https://www.sfml-dev.org

Migration

SFML 3 is a new major version and as such breaking changes have been made.
To ease the pain of migration, we've written an extensive migration guide.

Migration Guide πŸ“

In the meantime we've also updated all tutorials and have a pre-release API documentation available.

Social

Bluesky / Twitter / Fediverse

Contributors

Many thanks to everyone who contributed!

3.0.0-rc.2

3.0.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@eXpl0it3r eXpl0it3r released this 06 Dec 22:45

We're happy to announce the second Release Candidate for SFML 3! πŸŽ‰

Three years in the making, with over 1'100 commits, 41 new contributors, and a lot of time invested, we want to thank each and everyone who helped SFML 3 get this far.
A special thanks to vittorioromeo for laying the foundation early on and a massive thank you to ChrisThrasher for relentlessly pushing SFML 3 forward - he currently sits at over 500 pull requests alone! πŸ™Œ

With the second release candidate we've majorly reworked our dependency handling. SFML will no longer ship third-party binaries in its source code distribution! Instead, unless the user decides to use system-wide available dependencies, SFML will fetch and build its dependencies on-the-fly by utilizing CMake's FetchContent.

If everything goes to plan, this will be the final Release Candidate, as all the features and breaking changes have been merged and the open issues are mostly about documentation and minor alignments.

We Need You! 🫡

We need your help to test this release candidate!
As the dependency handling was changed, it would help greatly, if you could report any issues, crashes or just general feedback, so we have a chance to fix or clarify as many things before the release.
It's highly appreciated and will help us make SFML 3 even more stable!

Reach out: GitHub Issues / Discord / Forum / Bluesky / Twitter / Fediverse

Highlights

  • SFML has finally been updated to support and use C++17 βš™οΈ
  • The test suite has been massively expanded to 57% code coverage πŸ§ͺ
  • OpenAL has been replaced with miniaudio πŸ”Š
  • New and improved event handling APIs ⌨️
  • Scissor and stencil testing πŸ–ΌοΈ
  • And more...

See the changelog for more details.

Migration

SFML 3 is a new major version and as such breaking changes have been made.
To ease the pain of migration, we've written an extensive migration guide.

Migration Guide πŸ“

If you think, something is wrong or could be improved, please reach out on Discord or leave a comment on the dedicated issue. The more feedback we get, the more we can improve the guide.

In the meantime we've also updated all tutorials and have a pre-release API documentation available - you also get a sneak peek at the new website design & layout.

Known Issues

  • No pre-built binaries are provided at this point
  • The very latest changes aren't reflected in the changelog

SFML 2.6.2

Choose a tag to compare

@eXpl0it3r eXpl0it3r released this 10 Nov 23:13

Another collection of bugfixes for SFML 2.

All the fixes listed here will be included in the SFML 3.0.0 release.
Subsequent SFML 2.6.x fixes will have to either go to SFML 3.0.x or SFML 3.1.x.

Changelog

General

  • Ensure GNUInstallDirs cache vars are included before first used (#2778, #2779)
  • [macOS] Fix incorrect variable expansion (#2780)
  • Replace deprecated CMake command exec_program (#2888)
  • Fix Doxygen Generation (#2986, #2812, #2813)
  • [iOS] Use built-in iOS support for CMake (#3113)
  • [Windows] Fix SFML_USE_STATIC_STD_LIBS behavior (#3131)
  • [Windows] Add support for UCRT MinGW (#2289, #2821, #3054, #3115)
  • [Windows] Add support for Windows ARM64 (#3111, #3176)
  • Fix Nix pkg-config support (#2835)

Window

Bugfixes

  • Fix joystickButton being used for Joystick(Dis)Connected event (#2957)
  • [Windows] Close the clipboard if we fail to empty it (#3043)
  • [Android] Remove use of deprecated ALooper_pollAll (#3181, #3189)
  • [macOS] Fix how macOS fullscreen video modes are detected (#2300, #3151)
  • [macOS] Prevent unnecessary macOS input monitoring permission prompts (#2843, #3235)
  • [Linux] Fix DRM mode setting to use SFML window dimensions (#3136)
  • [Android] Fix wrong fullscreen resolution (#1349, #1559, #2396)

Graphics

Bugfixes

  • [Windows] Fix MSVC warning about uninitialized sf::Glyph members (#2929)
  • Prevent crash when setting empty uniform array (#3185, #3186)

Audio

Bugfixes

  • Abort looping in SoundStream::streamData if an OpenAL error occurs (#1831, #2781)

Contributors

Thank you! πŸŽ‰

3.0.0-rc.1

3.0.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@eXpl0it3r eXpl0it3r released this 13 Sep 19:50

We're very proud to announce the first Release Candidate for SFML 3! πŸŽ‰

Getting closer to three years in the making, with over 1'000 commits, 38 new contributors, and a lot of time invested, we want to thank each and everyone who helped SFML 3 get this far.
A special thanks to vittorioromeo for laying the foundation early on and ChrisThrasher for relentlessly pushing things forward - currently sits at over 500 pull requests alone! πŸ™Œ

We plan to create at least another release candidate within the new few weeks and hope to have SFML 3 fully release before the end of 2024!
Additionally, we plan to release SFML 2.6.2 before SFML 3, as to incorporate all the fixes.

At lot of work is also being done in parallel to get CSFML 3 and SFML.Net 3 updated and hopefully we can release them nearly at the same time.

We Need You!

We need your 🫡 help to test this release candidate!
Please report any issues, crashes, migration struggles, etc. or just general feedback.
It's highly appreciated and will help us make SFML 3 even more stable!

Reach out: GitHub Issues / Discord / Forum / Twitter / Fediverse

Highlights

  • SFML has finally been updated to support and use C++17 βš™οΈ
  • The test suite has been massively expanded to 57% code coverage πŸ§ͺ
  • OpenAL has been replaced with miniaudio πŸ”Š
  • New and improved event handling APIs ⌨️
  • Scissor and stencil testing πŸ–ΌοΈ
  • And more...

Migration

SFML 3 is a new major version and as such breaking changes have been made.
To ease the pain of migration, we've written an extensive migration guide.

Migration Guide πŸ“

If you think, something is wrong or could be improved, please reach out on Discord or leave a comment on the dedicated issue. The more feedback we get, the more we can improve the guide.

Known Issues

  • The website, including the tutorials and API documentation, have not been updated yet
  • The changelog has not been written yet, if you want, you can have a look at the full change set
  • No pre-built binaries have been provided at this point
  • The window are missing some create() function overloads, see #3227
  • CMake will currently fail to configure on Windows ARM64, see #3229

SFML 2.6.1

Choose a tag to compare

@eXpl0it3r eXpl0it3r released this 04 Nov 13:18

A small bugfix update to the massive SFML 2.6.0 release from earlier this year.
Largely addressing issues in the build process, but also fixing a few issues in specific, less tested scenarios, see the full changelog below.

Note again that SFML 2 will only see fixes for critical issues as patch releases (e.g. 2.6.2), but all the other development efforts are focused on SFML 3. For more details and future discussions, see the Roadmap.

Changelog

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

General

  • Stop overwriting CMAKE_MODULE_PATH (#2577)
  • Loosen restrictions on unknown compilers (#2585)
  • Fix CI deprecation warnings (#2624)
  • Fix unused compiler flag error in Clang (#2625)
  • Disable warnings as errors by default (#2680)

Window

Bugfixes

  • Fix macOS resize event bug (#2618)
  • Skip ClientMessage events with other window ID unless it is for IM (#2651)

Graphics

Bugfixes

  • Ensure OpenGL extensions are loaded before querying maximum texture size (#2603)
  • Fixed RenderTexture being upside down on Android (#2730)
  • Fix warnings in Linux OpenGL ES codepaths (#2747)

Audio

Bugfixes

  • Remove use of C++11 header (#2591)

Contributors

Thank you! πŸŽ‰

@ChrisThrasher
@dogunbound
@eXpl0it3r
@kimci86
@texus

SFML 2.6.0

Choose a tag to compare

@eXpl0it3r eXpl0it3r released this 20 Jun 23:19

After 5.5 years, we're proud to announce a new and massive SFML release. Over the past few years a lot has changed code-wise, in the team, in the community, and also with the roadmap of SFML. We would like to thank every single one of our contributors, who helped make this release - check the lengthy list at the bottom. Thank You!

It's important to note, that this will be the final SFML 2.x release. We will provide fixes for critical issues as patch releases (e.g. 2.6.1), but all the other development efforts are focused on SFML 3. For more details and future discussions, see the Roadmap.

Highlights

  • ⌨️ Support for Scancodes
  • πŸ—” Create windows without OpenGL context
  • πŸͺŸ Create windows with a Vulkan context
  • πŸ’» SFML supports ARM64 on macOS, i.e. M1 and M2 chipsets
  • πŸ§ͺ Unit testing foundation has been created

Changelog

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

General

System

Features

  • [Android] Simplify management of ActivityStates (#1845)

Bugfixes

  • [Windows] Fix overflow when using sf::Clock for long time (#1765, #1771)

Window

Features

  • Allow creation of a window without an OpenGL context (#1484)
  • Dynamically load EGL and GLES extensions as is done for desktop GL (#1539, #1577, #1603, #2157, #2160)
  • Add support for creating Vulkan window surfaces (#1557)
  • Scancode support (#1235, #1400, #1596, #2009, #2096, #2148, #2243)
  • [Linux] Add support for colored cursors in Unix implementation (#1693, #1694)
  • [Linux] Added support for directional arrow resize cursors on Linux (#1688)
  • [Linux] Add support for X Input Method (#1840, #1850, #2191, #2242)
  • [Linux] Add support for Direct Rendering Mode (DRM) / Kernel Mode Setting (KMS) (#2029, #2146, #2246, #2259, #2400)
  • [Windows] Use monitor aware DPI scaling on Windows (#2268)

Bugfixes

  • Fix sf::Context::getActiveContext to stop returning inactive contexts (#1794)
  • [Linux] Fixed crash with X11 when $DISPLAY is not 0.0 (#724, #1504)
  • [Android] Ensure setActive(false) is called before the surface is destroyed in EglContext (#1530, #1531)
  • [Android] Fixed EGL incorrectly being passed the anti-aliasing level as EGL_SAMPLE_BUFFERS instead of EGL_SAMPLES (#1533, #1534)
  • [Linux] Fix OpenGL extensions not loading in a specific Linux VM configuration (#1495, #1543)
  • [Windows] Fixed potential buffer overrun in Win32 OpenGL error handling (#1245, #1246)
  • [Windows] Fix no longer hides cursor when hovering title bar (#1569, #1570)
  • [macOS] Initialize m_context correctly in SFContext constructors (#1582, #1610)
  • [Android] Fixed navigation bar not being entirely hidden on Android (#1538, #1554)
  • [Windows] Make the process to set a DirectInput device's axis mode more conservative (#1634)
  • [Linux] Fix an issue where the cursor wasn't changed instantaneously (#1686)
  • [Windows] Fix issue where joystick/controller POV values were not set correctly for DirectInput devices (#1719)
  • [Android] Fix warning: control may reach end of non-void function (#1713)
  • [Windows] Fixed Win32 requestFocus in multi-threaded environment (#1600)
  • [Android] Fix issue where EGL_DEFAULT_DISPLAY is NULL (#1639, #1740)
  • [macOS] When initializing an OpenGL view with an existing window, call finishInit (#1759, #1760)
  • [macOS] Fix potential crash when changing cursor (#1721, #1736)
  • [Android] Fixed SIGSEGV after pressing back button on Android (#531, #1580)
  • [Android] Fix issue with waitEvent and an OpenGL Context (#1532, #1790)
  • [iOS] Fix issue where OpenGL ES libraries couldn't be located (#1687, #1804)
  • [macOS] Fix issue where window wouldn't be closing because of events still being processed (#1581, #1814)
  • [Windows] Preserve the drop shadow for system cursors on Windows (#1731)
  • [Windows] Use GetWindowLongPtr for better overall compatibility (#1806)
  • [macOS] Ensure proper nesting of autorelease pools on OS X (#1549, #1820)
  • [Linux] Fix typo in window construction (#1951, #1953)
  • [Linux] Prevent crash in Unix JoystickImpl with too many file descriptors (#1900, #1941)

Graphics

Features

  • Allow re-creation of the shared context as a core context if the user requests a core profile context (#1434, #1443)
  • Added getPosition() and getSize() to sf::Rect (#1047)
  • Added Font::hasGlyph field (#1644)
  • Implemented saveToMemory and saveImageToMemory (#988, #1597, #1669)
  • Implement smoothing for fonts (#1690, #2064, #2072)
  • Add Min and Max blend modes (#1710, #1756)
  • Support geometry shaders when a OpenGL 3.2+ context is available (#1768, #1769, #1786, #1789)
  • Align encodings for new line characters (#2107)
  • Update stb_image to 2.28, thus adding support for more image formats (#1712, #2322, #2464)
  • [macOS] Improve high DPI handling on macOS (#1817)

Bugfixes

  • Fixed missing checks for empty vertex arrays when updating the vertex buffers in sf::Text (#1558, #1560)
  • Remove unnecessary glFlush() in sf::Texture (#1609)
  • Fixed text rendering artifacts on Radeon cards (#1568)
  • Force OpenGL states to be reset when RenderTarget detects that a new context has to be tracked (#1625, #1630)
  • Don't set default Texture Rect of a sf::Sprite before the user provided one (#1725)
  • Added auto hinting compensation to fix too wide gaps between small glyphs (#1745, #1746)
  • Fix support for sRGB color space in sf::RenderTexture (#1092, #1757)
  • Fix incorrect glyph rect for text outline (#1826, #1827, #1836)
  • Fix alpha value calculation for semi-transparent pixels on fully transparent pixels with sf::Image::copy() (#1993)
  • Fix getLocalBounds inconsistency for sf::Text (#2129, #2132)
  • [iOS] Ensure the proper default framebuffer is bound when activating a RenderWindow (#1471, #1487)

Audio

Features

  • Allow explicitly closing sf::InputSoundFile (#1516)
  • Replace use of auto_ptr for future-proofing (#1546)
  • Adjustable processing interval in sf::SoundStream (#1517, #1666)
  • Fix sf::Music sometimes failing to loop after seeking (#1707)
  • Add MP3 decoding support (#1232, #1796, #1851)

Bugfixes

  • Rename FindVorbis -> FindVORBIS, for consistency with exported variables (#1626, #1629)
  • Fix naming of VORBIS in SFMLConfigDependencies.cmake.in (#1636, #1637)
  • Fixed copy assign operator in sf::Sound so it checks for self-assignment (#1744)
  • Fix SoundStream::play to restart the sound if it was played before (#2175)

Networking

Features

  • Added method to get the current read position of sf::Packet (#1382, #1641)

Bugfixes

  • Fixed sometimes failing to read floats and doubles from Packet on Android (#1565, #1578)

Contributors

Thank You! πŸŽ‰

2.5.1

Choose a tag to compare

@eXpl0it3r eXpl0it3r released this 15 Oct 20:21

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

  • [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)