I'd like to discuss the next few steps for SFML's development. I've worded it as if things are already decided, but in fact it's all up for discussion.
Let's start with the big elephant in the room: SFML 3
The bad news: It's impossible to integrate all the changes we have promised, discussed or
wished for over the past years.
The amount of potential API changes and redesigns is too great to fit into one version of SFML.
The good news: It has become clearer over the past few years, that a lot of people have adapted the "new" C++ standards and are looking for APIs that do support modern C++ (e.g. move-semantics), but also don't feel particual motivated to contribute to "old" C++ code bases like SFML.
SFML 3 will first and foremost focus on introducing the
C++17 standard to the SFML code base and to get rid of some baggage.
Additional API changes or redesigns have second priority on the list.
The overall goal is to accept that major version updates don't require massive library evolutions on the scale of barely achievable, but that breaking changes should be able to happen more frequently and within a manageable scope.
This also implies that we'll actively try to avoid dragging a major version on for many years, which has the the effect, that SFML 3 will end up rather short-lived compared to SFML 2.
Here's a rough roadmap what the goal is in the near future:
SFML 2.6 (see
GitHub Project for details)
- Scan codes
- Required bug fixes
- Small championed contributions
SFML 3Priority 1Priority 2- Hot API discussion points (TBD)
- (Setup for multiple rendering backends)
BackportsWe're generally open to backporting critical bug fixes to SFML 2, but it will be decided on a case-by-case basis and the focus should really be in moving forward.
SummaryThe current roadmap moves SFML 3 from an infinitely far away horizon to the next version after SFML 2.6. Major versions don't require massive API evolutions, but it simply indicates a breaking change.
I'm interested in hearing what people think of this proposal, so let the discussion begin!
Keep in mind though, that the point of the discussion here, isn't necessarily about a single item on the list, but it should be more on the whole perspective change.