4 [ Note: this howto is probably useful to core vlc developers only ]
6 * Tests: compilation, regression tests ...
8 * Changes on the git repository
9 - Check that the version number everywhere it's needed
12 - Update important things and add them to the NEWS file
13 - Close the milestone on Trac https://trac.videolan.org/vlc
14 - Update OpenGPG key embedded in include/vlc_update.h if needed
15 - Increase the libvlccore and libvlc revisions in src/Makefile.am
16 _if_and_only_if_ the ABI number has not been increased instead, in
17 which case the revision goes back to zero.
21 git tag -a -m "VLC Release VERSION" <VERSION>
22 (Create an annotated tag, you can skip -a if you used -m)
23 git push origin <VERSION>
25 * Tarballs (Use a clean tree !!!)
26 - Use 'make distcheck' to make sure all files are exported correctly
27 - copy the tar.xz file on ganesh.videolan.org
28 - generate SHA, MD5 hashes and OpenPGP signature of these files
29 (use sha*sum --binary, md5sum --binary, gpg -u VideoLAN\ Release --sign --detach --armor)
30 Use the sumandsign.sh script
33 - Put a copy of the libraries or git snapshot in ftp://ftp.videolan.org/pub/contrib/
34 - Put the relevant win32 and Mac OS contrib package
35 - Update s.v.o/vlc and www.v.o/vlc/download-sources.html
38 - configure using the extras/package/win32/configure.sh script
39 - copy the packages files on ganesh.videolan.org
40 - copy the vlc-2.0.4 and symbols-2.0.4 to balthazar for stacktraces
43 - configure using the extras/package/macosx/configure.sh script
44 - compile the source on both a PowerPC and an Intel-based Mac.
45 - use extras/package/macosx/ub.sh to create a Universal Binary.
46 - use extras/package/macosx/codesign.sh to sign it.
47 - copy the packages files on ganesh.videolan.org
49 * Sign all the files and move the signed files on /opt/ftp/pub/videolan/vlc/X.X.X
50 - At first block access to this directory by http or ftp. Only authorize rsync.
51 This is to avoid leak as some journalists and forums seem to watch the ftp.
52 - Update the "last" symlink
55 - edit the /index.php /vlc/*.php, include/os-specific.php files
56 - create a /vlc/release/X.X.X page
57 - add a news item to news.msg
58 - update the front page OS dependant screenshots if the interface changed.
61 * "Check for updates" functionality
62 - edit update.videolan.org/vlc/status
63 - gpg -u VideoLAN\ Release -t --sign --detach --armor
64 - for i in *asc;do gpg --verify $i || echo $i;done
67 - Forwarn the mirror admins (optional for any minor release)
68 - Go to https://get.videolan.org/<path-to-the-file>?mirrorlist
69 - Ensures there is enough mirrors able to serve the file in each region
70 or just wait few more hours before doing the release.
71 Suggested number of mirrors:
72 - > 70% for a minor release
73 - > 80% for a major release
74 - > 80% for any auto-update
75 - Keep an eye on https://get.videolan.org/?mirrorstats during the release
78 - edit http://wiki.videolan.org/Template:VLC:latest_version
80 * Announce on www.freecode.com (let jb or sam do it, if you lack the account)
81 - go to https://freecode.com/projects/vlc/
82 - chose "Submit a release" in the right menu, in "Administration"
83 - Do the steps and wait (the update can take several hours)
85 * Announce on Twitter, Facebook and G+
86 Unfortunately, those are more followed than the all other mediums combined
88 * Announce email and forum topic
89 - Write something along the lines of previous releases
90 - Post in videolan-announce (moderated), vlc et vlc-devel
91 You are advised to add the author list for this version using
92 'git shortlog -s PREVIOUS_VERSION..VERSION'
93 And to add git diff --stat PREVIOUS_VERSION..VERSION if it's relevant.
94 You can play a bit with git to show the piece of information that may be
96 - Add a sticky thread in the "General VLC media player discussion" forum