Releasing Minetest

From Minetest Developer Wiki
Jump to navigation Jump to search
<celeron55> oh god this release-making stuff...
<celeron55> horrible, horrible work

Before releasing

Usually a feature freeze for one week is announced in #minetest-dev. New features aren't accepted in this time and people focus on finding and fixing bugs.

The feature freeze and release date is set by core developers.

The Process

This is mostly done by several core developers.

Update version in source

Define a new version number in CMakeLists.txt and update doc/lua-api.txt. Comment the line that sets VERSION_PATCH to ${VERSION_PATCH}-dev. Commit.

Build Windows version

Visual Studio 2010 currently makes best results.

Usually built by xyz.

They have included sound, gettext, cURL and TTF support.

Be sure that the windows build works before continue to do anything!

Tweak Windows package a bit

Include msvcr100.dll and wrap_oal.dll in the package (bin/). The latter is one of the OpenAL DLLs that the CMake install scripts are currently missing.

Include minetest_game.

Upload Windows package to somewhere

Previously packages were uploaded to GitHub, but since then (2012-12) GitHub has ceased the functionality, and a new host must be found (document here). The packages take up roughly 60GB/month of bandwidth.

Since 0.4.5 the packages are hosted by xyz at minetest.ru.

Since 0.4.8 Windows packages are hosted at github: https://github.com/minetest/minetest/releases.

Update branches and tags of minetest and minetest_game on github

See previous tags. Use the same tag for all of them; eg. "0.4.4".

Update links on minetest.net

Some people from the community can edit the minetest.net page (celeron55, PilzAdam, rubenwardy, BlockMen, Jordach)

Write a release notice

Usually a new topic in the News section of the forum. Changelog can be found here.

Update stuff on launchpad to get Ubuntu builds for the new version

Juhani Numminen hasn't been around in a long while, so celeron55 or PilzAdam must update Launchpad.

Notify other known package maintainers

  • emptty (@freenode) maintains debian packages
  • Zeitgeist_/damiel (@freenode) proxy-mantainer for minetest in Gentoo

TODO: Find more

Reenable -dev version suffix

Uncomment the line around CMakeLists.txt:20 that sets VERSION_PATCH to ${VERSION_PATCH}-dev. Commit.