Skip to content
Lukas Dürrenberger edited this page Jun 9, 2024 · 10 revisions

This page serves both as a way to document the release process and as a way to show the current situation, while offering potential improvements in the process.

Release Check List

  • Update SFML version
  • Update the changelog
  • Update the website
    • Update the documentation
    • Update the tutorials
      • Duplicate the existing tutorial folder and rename for the new version
      • Adjust the tutorial links
      • Update the latest version (EN / FR)
      • Write new tutorials?!
    • Update the downloads
      • Upload the new binaries
      • Duplicate the existing download folder and rename for the new version
      • Add or remove new or old compilers on the new download page
      • Adjust the file sizes on the new download page
      • Update the old version pages (EN / FR)
    • Adjust rewrite rules to point to the latest version
  • GitHub Updates
  • General Updates
    • Contact package maintainers as soon as a new tag is created
    • Create a new forum thread
    • Update the existing forum thread
    • Tweet about the new version
    • Write a post on Fosstodon about the new version
    • Post about the new version on Reddit (r/sfml & r/cpp)
    • at-everyone in Discord for the new release
    • Update IRC channel description (boxbox)
    • Update Slack channel description (cpplang)

Potential Improvements

Simplify the website updates

Instead of having to edit various pages, the pages should automatically detect the available versions.

  • Documentation / Tutorials
    • Detect the latest version and link it at the top
    • List all other versions at the bottom
    • ➡️ No need to manually edit the learn page
  • Download page
    • Detect the latest version and link it at the top
    • List all other versions on the Old Version page
    • Parse the files and automatically add the file sizes (caching!)
  • Generate the changelog HTML from the Markdown file (already done partially)

Static Page Generator

Do everything mentioned above, but instead of serving stuff via dynamic PHP code, generate static pages before hand and serve those.

  • One file for tutorials that didn't change across versions
  • Super fast performance
  • Potential to host on secondary sources (like GitHub pages) in case of maintenance
  • Tutorial downloads for offline usage

See also: https://github.com/SFML/SFML-Website/issues/171

Release Builds

Have specific rule set just for release builds, would make it as easy as clicking a button to create new releasable SFML packages.

This would most likely require changing either libs that we usually package or the currently running builds to be more similar to the usual release packages.

Needs To Be Done

  • Writing changelog
  • Git magic (tagging / branching)
  • Promotions

CSFML Release Check List

SFML.Net Release Check List

Clone this wiki locally