Repository navigation
Conversation
eXpl0it3r
force-pushed
the
feature/sfml-3.1
branch
from
October 4, 2026 12:27
f9f1e08 to
ac52929
Compare
- Require CMake 3.28 to match SFML - Install HarfBuzz, MbedTLS and libssh2 for Linux CI builds - Bump CSFML and NuGet package version to 3.1.0
The deprecated functions remain available, matching SFML. Font kerning now calls the char32_t overload, since the std::uint32_t one is deprecated.
- Grow sfIpAddress to hold IPv6 addresses and add address types - Make sfIpAddress_fromString not resolve network names anymore, matching sf::IpAddress::fromString, and add the deprecated sfIpAddress_resolve - Add sfDns for resolving hostnames and querying NS, MX, SRV and TXT records
eXpl0it3r
force-pushed
the
feature/sfml-3.1
branch
from
October 4, 2026 20:12
ac52929 to
904c98b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Updates CSFML to SFML 3.1.0. Every commit covers one area, so it should be reviewable commit by commit.
CSFML now requires SFML 3.1 and CMake 3.28, same as SFML itself. The Linux CI jobs install HarfBuzz, MbedTLS and libssh2, and the ClangCL jobs are enabled again, since SFML 3.1 bundles FLAC 1.5.0, which compiles fine with VS2026's ClangCL.
New APIs:
sfGetVersionandsfTimeoutWithPredicatesfFont_getAscent,sfFont_getDescent,sfFont_getGlyphById, newsfFontInfofields, and the text shaping API forsfText(line alignment, orientation, cluster grouping, shaped glyphs, glyph pre-processor callback and vertex data access)sfPlaybackDevice, which CSFML didn't wrap at all so farsfIpAddress,sfDns, TLS forsfTcpSocket, readiness callbacks forsfSocketSelector, HTTPS verification forsfHttpand the newsfSftpDeprecated SFML APIs stay available and are marked with
CSFML_DEPRECATED, i.e. all ofsfFtp, the touch functions,sfText_findCharacterPosand the newsfIpAddress_resolve.Note that this breaks the C API in a few places, where SFML's API requires it:
sfIpAddressholds 46 characters to fit IPv6 addressessfIpAddress_fromStringno longer resolves host names, same assf::IpAddress::fromString, usesfDns_resolveinsteadsfFontInfohas new fieldssfSocketSelector_add*/remove*andsfHttp_setHostreturnboolHow to test this PR?
CI should succeed.
Write examples, run examples that use the new APIs.