<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Documentation%2F4.10%2FDevelopers%2FReleaseProcess</id>
	<title>Documentation/4.10/Developers/ReleaseProcess - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Documentation%2F4.10%2FDevelopers%2FReleaseProcess"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/ReleaseProcess&amp;action=history"/>
	<updated>2026-06-02T22:40:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/ReleaseProcess&amp;diff=62460&amp;oldid=prev</id>
		<title>Grundlett: Text replacement - &quot;&lt;email&gt;(.*)@(.*)&lt;\/email&gt;&quot; to &quot;$1{{@}}$2&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/ReleaseProcess&amp;diff=62460&amp;oldid=prev"/>
		<updated>2019-11-27T05:26:06Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;&amp;lt;email&amp;gt;(.*)@(.*)&amp;lt;\/email&amp;gt;&amp;quot; to &amp;quot;$1{{@}}$2&amp;quot;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 05:26, 27 November 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l225&quot; &gt;Line 225:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 225:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;1) Install prerequisites:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;1) Install prerequisites:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Check with &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;email&amp;gt;&lt;/del&gt;jchris.fillionr@kitware.com&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/email&amp;gt; &lt;/del&gt;to get the credential associated with &amp;lt;code&amp;gt;UpdateBot&amp;lt;/code&amp;gt; user.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Check with jchris.fillionr&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{&lt;/ins&gt;@&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;}}&lt;/ins&gt;kitware.com to get the credential associated with &amp;lt;code&amp;gt;UpdateBot&amp;lt;/code&amp;gt; user.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Install [https://pypi.python.org/pypi/mwdoc mwdoc]:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Install [https://pypi.python.org/pypi/mwdoc mwdoc]:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Grundlett</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/ReleaseProcess&amp;diff=59764&amp;oldid=prev</id>
		<title>UpdateBot: Nightly -&gt; 4.10</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Documentation/4.10/Developers/ReleaseProcess&amp;diff=59764&amp;oldid=prev"/>
		<updated>2018-10-19T00:43:34Z</updated>

		<summary type="html">&lt;p&gt;Nightly -&amp;gt; 4.10&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Release planning ==&lt;br /&gt;
&lt;br /&gt;
* Decide what will be the version number for the next stable release&lt;br /&gt;
* Update issue tracker: https://issues.slicer.org/roadmap_page.php&lt;br /&gt;
* Define a release date&lt;br /&gt;
* Announce the release: https://discourse.slicer.org/t/upcoming-slicer-4-8-release/1120&lt;br /&gt;
&lt;br /&gt;
== Day 1: Release ==&lt;br /&gt;
&lt;br /&gt;
Since there all development occurs on &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt;, each time version is updated, two commits will be required.&lt;br /&gt;
&lt;br /&gt;
=== CMakeLists.txt: Update the Slicer version information for the release ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Update the Slicer version information for the release:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;In &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt;, update at least one these variables: &amp;lt;code&amp;gt;Slicer_VERSION_MAJOR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Slicer_VERSION_MINOR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Slicer_VERSION_PATCH&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Re-run CMake with &amp;lt;code&amp;gt;-DSlicer_RELEASE_TYPE:STRING=Stable&amp;lt;/code&amp;gt;. This is required to update &amp;lt;code&amp;gt;Utilities/Scripts/SlicerWizard/__version__.py&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;&amp;lt;small&amp;gt;{{note}}If not doing a clean build, make sure to explicitly specify the version re-configuring with &amp;lt;code&amp;gt;-DSlicer_VERSION_MAJOR:STRING=X -DSlicer_VERSION_MINOR:STRING=Y -DSlicer_VERSION_PATCH:STRING=Z .&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Commit the above changes using this message like:&amp;lt;/p&amp;gt;&lt;br /&gt;
 ENH: Slicer X.Y.Z&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Keep track of the &amp;lt;tt&amp;gt;SVN_REVISION&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;SVN_BRANCH&amp;lt;/tt&amp;gt; for the next steps&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CMakeLists.txt: Update the Slicer version information for the development ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;2&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Update the Slicer version information for the development:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;In &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt;,&amp;lt;/p&amp;gt;&lt;br /&gt;
* Update &amp;lt;code&amp;gt;Slicer_VERSION_MAJOR&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;Slicer_VERSION_MINOR&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Re-run CMake with &amp;lt;code&amp;gt;-DSlicer_RELEASE_TYPE:STRING=Experimental&amp;lt;/code&amp;gt;. This is required to update &amp;lt;code&amp;gt;Utilities/Scripts/SlicerWizard/__version__.py&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;&amp;lt;small&amp;gt;{{note}}If not doing a clean build, make sure to explicitly specify the version re-configuring with &amp;lt;code&amp;gt;-DSlicer_VERSION_MAJOR:STRING=X -DSlicer_VERSION_MINOR:STRING=Y -DSlicer_VERSION_PATCH:STRING=Z .&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Commit the above changes using this message like:&amp;lt;/p&amp;gt;&lt;br /&gt;
 cd ~/Projects/Slicer&lt;br /&gt;
 git add -A&lt;br /&gt;
 git commit -m &amp;quot;ENH: Begin X.Y.Z development&amp;quot;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tag and publish SlicerBuildEnvironment docker image ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;3&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Tag the docker build environment image. See https://github.com/Slicer/SlicerBuildEnvironment/blob/master/README.rst#maintainers&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;&amp;lt;small&amp;gt;{{note}}If the environment did not change, you may skip this step for patch release.&amp;lt;/small&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Keep track of the selected &amp;lt;tt&amp;gt;TAG&amp;lt;/tt&amp;gt; for updating the release scripts&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update release scripts ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;4&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Update release scripts. See https://github.com/Slicer/DashboardScripts#maintenance-guides&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable regular nightly builds ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;5&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On each factory machines, disable regular nightly build in crontab and task scheduler.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ExtensionsIndex ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;This applies to https://github.com/Slicer/ExtensionsIndex&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;6&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create branch X.Y based of master:&amp;lt;/p&amp;gt;&lt;br /&gt;
  DEST_VERSION=X.Y&lt;br /&gt;
  &lt;br /&gt;
  cd /tmp&lt;br /&gt;
  git clone git@github.com:Slicer/ExtensionsIndex &lt;br /&gt;
  cd ExtensionsIndex&lt;br /&gt;
  git checkout master&lt;br /&gt;
  git push origin master:${DEST_VERSION}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update CDash ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;This applies to the CDash instance associated with http://slicer.cdash.org/index.php?project=Slicer4&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;7&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create new CDash groups for extension submissions associated with &amp;lt;code&amp;gt;X.Y&amp;lt;/code&amp;gt; release:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Extensions-X.Y-Nightly&lt;br /&gt;
Extensions-X.Y-Continuous&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Generate application and extension packages ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;8&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Generate packages running Slicer package scripts on each factory machines. (These are the scripts updated in the previous step)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tag the repository ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;9&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Tag the repository:&amp;lt;/p&amp;gt;&lt;br /&gt;
Set version variables:&lt;br /&gt;
 X=&amp;lt;major-version&amp;gt;&lt;br /&gt;
 Y=&amp;lt;minor-version&amp;gt;&lt;br /&gt;
 Z=&amp;lt;patch-version&amp;gt;&lt;br /&gt;
 echo &amp;quot;X.Y.Z is ${X}.${Y}.${Z}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set SVN revision variable:&lt;br /&gt;
  SVN_REVISION=&amp;lt;svn-revision-for-release&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SVN:&lt;br /&gt;
 cd ~/Projects&lt;br /&gt;
 svn checkout http://svn.slicer.org/Slicer4/trunk Slicer-${X}.${Y}-SVN&lt;br /&gt;
 cd Slicer-${X}.${Y}-SVN&lt;br /&gt;
 svn copy -r${SVN_REVISION} http://svn.slicer.org/Slicer4/trunk  \&lt;br /&gt;
      http://svn.slicer.org/Slicer4/tags/Slicer-${X}-${Y}  \&lt;br /&gt;
     -m &amp;quot;ENH: Tag of ${X}.${Y}.${Z} release based on r${SVN_REVISION}.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
GIT:&lt;br /&gt;
 cd ~/Projects&lt;br /&gt;
 git clone git@github.com:Slicer/Slicer Slicer-${X}.${Y}&lt;br /&gt;
 cd Slicer-${X}.${Y}&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # Rollback by one commit to ignore the &amp;quot;ENH: Begin X.Y.Z development&amp;quot; commit&lt;br /&gt;
 #&lt;br /&gt;
 git reset --hard HEAD^&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # &amp;gt;&amp;gt;&amp;gt; Make sure the current commit corresponds to ${SVN_REVISION}. &amp;lt;&amp;lt;&amp;lt;&lt;br /&gt;
 #&lt;br /&gt;
 git log -1&lt;br /&gt;
 &lt;br /&gt;
 git tag -s -m &amp;quot;ENH: Slicer ${X}.${Y}.${Z}&amp;quot; v${X}.${Y}.${Z} master&lt;br /&gt;
 git push origin v${X}.${Y}.${Z}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create release branch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;10&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create release branch:&amp;lt;/p&amp;gt;&lt;br /&gt;
Set version variables (same value as in the previous step):&lt;br /&gt;
 X=&amp;lt;major-version&amp;gt;&lt;br /&gt;
 Y=&amp;lt;minor-version&amp;gt;&lt;br /&gt;
 Z=&amp;lt;patch-version&amp;gt;&lt;br /&gt;
 echo &amp;quot;X.Y.Z is ${X}.${Y}.${Z}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set SVN revision variable (same value as in the previous step):&lt;br /&gt;
 SVN_REVISION=&amp;lt;svn-revision-for-release&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SVN &amp;lt;small&amp;gt;(Keep track of the branch revision. It will be referred below as &amp;lt;code&amp;gt;BRANCHED_REVISION&amp;lt;/code&amp;gt;.)&amp;lt;/small&amp;gt;:&lt;br /&gt;
 cd ~/Projects/Slicer-${X}.${Y}-SVN&lt;br /&gt;
 svn copy -r ${SVN_REVISION} http://svn.slicer.org/Slicer4/trunk http://svn.slicer.org/Slicer4/branches/Slicer-${X}-${Y} \&lt;br /&gt;
     -m &amp;quot;ENH: Branching from trunk to Slicer-${X}-${Y} at r${SVN_REVISION}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 svn switch http://svn.slicer.org/Slicer4/branches/Slicer-${X}-${Y}&lt;br /&gt;
&lt;br /&gt;
 BRANCHED_REVISION=$(svn info | grep &amp;quot;Revision&amp;quot; | awk '{print $2}')&lt;br /&gt;
 echo &amp;quot;BRANCHED_REVISION is ${BRANCHED_REVISION}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
GIT:&lt;br /&gt;
  cd ~/Projects/Slicer-${X}.${Y}&lt;br /&gt;
  &lt;br /&gt;
  # Source: http://ivanz.com/2009/01/15/selective-import-of-svn-branches-into-a-gitgit-svn-repository/&lt;br /&gt;
  # and https://stackoverflow.com/questions/19712735/git-svn-cannot-setup-tracking-information-starting-point-is-not-a-branch&lt;br /&gt;
  &lt;br /&gt;
  git config --add svn-remote.svn-${X}${Y}.url http://svn.slicer.org/Slicer4/branches/Slicer-${X}-${Y}&lt;br /&gt;
  git config --add svn-remote.svn-${X}${Y}.fetch :refs/remotes/git-svn-${X}${Y}&lt;br /&gt;
  &lt;br /&gt;
  git svn fetch svn-${X}${Y} -r ${BRANCHED_REVISION}&lt;br /&gt;
  &lt;br /&gt;
  git checkout -b master-${X}${Y} remotes/git-svn-${X}${Y}&lt;br /&gt;
  &lt;br /&gt;
  git svn rebase&lt;br /&gt;
  &lt;br /&gt;
  git push origin master-${X}${Y}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update Release Details on the wiki ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;11&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Update [[Release Details]] with release information&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Day 2: Post release ==&lt;br /&gt;
&lt;br /&gt;
=== Re-enable regular nightly builds ===&lt;br /&gt;
&lt;br /&gt;
On each factory machines, re-enable build in crontab and task scheduler.&lt;br /&gt;
&lt;br /&gt;
=== Update Mantis ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;This applies to the Mantis instance associated with https://issues.slicer.org&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Release&amp;quot; current target&lt;br /&gt;
* Create new target&lt;br /&gt;
* Check the &amp;quot;fixed in&amp;quot; fields&lt;br /&gt;
&lt;br /&gt;
=== Update Slicer wiki ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;This applies to the MediaWiki instance associated with https://wiki.slicer.org&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are two steps involved:&lt;br /&gt;
* copy of the pages associated with the &amp;lt;code&amp;gt;Nightly&amp;lt;/code&amp;gt; namespace into the &amp;lt;code&amp;gt;X.Y&amp;lt;/code&amp;gt; namespace.&lt;br /&gt;
* update of permanent pages referencing the current Slicer version&lt;br /&gt;
&lt;br /&gt;
As of November 2016, the process is fully automated and can be done using [https://github.com/Slicer/Slicer/tree/master/Base/Python/slicer/release/wiki.py Base/Python/slicer/release/wiki.py] script.&lt;br /&gt;
&lt;br /&gt;
1) Install prerequisites:&lt;br /&gt;
&lt;br /&gt;
* Check with &amp;lt;email&amp;gt;jchris.fillionr@kitware.com&amp;lt;/email&amp;gt; to get the credential associated with &amp;lt;code&amp;gt;UpdateBot&amp;lt;/code&amp;gt; user.&lt;br /&gt;
* Install [https://pypi.python.org/pypi/mwdoc mwdoc]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ pip install mwdoc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Query current version information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ python Base/Python/slicer/release/wiki.py query&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Copy and update pages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ DEST_VERSION=X.Y&lt;br /&gt;
&lt;br /&gt;
$ python Base/Python/slicer/release/wiki.py update ${DEST_VERSION}&lt;br /&gt;
$ python Base/Python/slicer/release/wiki.py copy ${DEST_VERSION}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following pages have been updated:&lt;br /&gt;
&lt;br /&gt;
* [[Template:Documentation/prevversion]]&lt;br /&gt;
* [[Template:Documentation/nextversion]]&lt;br /&gt;
* [[Template:Documentation/currentversion]]&lt;br /&gt;
* [[Template:Documentation/versionlist]]&lt;br /&gt;
* [[Template:Documentation/acknowledgments-versionlist]]&lt;br /&gt;
* [[Documentation]]&lt;br /&gt;
* [[Documentation/Release/Acknowledgments]]&lt;br /&gt;
&lt;br /&gt;
The following pages with #REDIRECT have been updated: &lt;br /&gt;
&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Documentation/Release]]&lt;br /&gt;
* [[Documentation/Release/Announcements]]&lt;br /&gt;
* [[Documentation/Release/Report a problem]]&lt;br /&gt;
* [[Documentation/UserTraining]]&lt;br /&gt;
* [[Documentation/UserFeedback]]&lt;br /&gt;
* [[Documentation/Release/SlicerApplication/HardwareConfiguration]]&lt;br /&gt;
&lt;br /&gt;
=== Clean-up older nightly packages ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;This applies to the Midas instance associated with http://slicer.kitware.com&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See https://gist.github.com/jcfr/ea9ef199bd5a3e071b8f&lt;br /&gt;
&lt;br /&gt;
=== Manually sign packages ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If needed, create a X.Y.Z folder in [http://slicer.kitware.com/midas3/folder/274 Slicer/Packages/Application/Release]&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Download package from http://slicer.cdash.org/index.php?project=Slicer4&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Sign the package following these instructions:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;!--&lt;br /&gt;
  &amp;lt;li&amp;gt;Linux: &amp;lt;i&amp;gt;Not available&amp;lt;/i&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;macOS: &amp;lt;i&amp;gt;Not available&amp;lt;/i&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Windows: [[Documentation/Nightly/Developers/Windows_Code_Signing]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Upload the signed package using [[Documentation/Nightly/Developers/ReleaseProcess#Script_to_upload_Slicer_packages|upload-Slicer-to-slicer-kitware-com.cmake]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Manually update the name of the item appending &amp;lt;code&amp;gt; [signed]&amp;lt;/code&amp;gt;. Make sure to &amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; update the bitstream name. For example: see &amp;lt;tt&amp;gt;Slicer-4.8.0-win-amd64.exe [signed]&amp;lt;/tt&amp;gt; available [http://slicer.kitware.com/midas3/item/316852 here]&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;For future reference, copy the unsigned packages into the folder created above (Keep the default &amp;lt;b&amp;gt;Create a reference to the existing item&amp;lt;/b&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tag release packages ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;This applies to the Midas instance associated with http://slicer.kitware.com&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the &amp;lt;b&amp;gt;Windows&amp;lt;/b&amp;gt; package was uploaded during the manual signing, it is already associated with the release tag. On the other hand, due to [[#Limitations_of_download.slicer.org|limitations]]&lt;br /&gt;
of http://download.slicer.org, the &amp;lt;b&amp;gt;Linux&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;macOS&amp;lt;/b&amp;gt; packages must be downloaded and re-uploaded.&lt;br /&gt;
&lt;br /&gt;
1) Download packages&lt;br /&gt;
&lt;br /&gt;
2) Compute md5 sums and check they correspond at the sum associated with download link posted on [http://slicer.cdash.org/index.php?project=Slicer4 http://slicer.cdash.org].&lt;br /&gt;
&lt;br /&gt;
2) Re-upload each packages using [[#Script_to_upload_Slicer_packages|upload-Slicer-to-slicer-kitware-com.cmake]] script.&lt;br /&gt;
&lt;br /&gt;
=== Confirm that packages are tagged ===&lt;br /&gt;
&lt;br /&gt;
To confirm that all three packages are tagged. The following URL should return three packages:&lt;br /&gt;
&lt;br /&gt;
http://slicer.kitware.com/midas3/api/json?method=midas.slicerpackages.package.list&amp;amp;release=4.8.0&lt;br /&gt;
&lt;br /&gt;
=== Version NA-MIC data tree  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;This applies to the Midas instance associated with http://slicer.kitware.com&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;If you do not have an account and/or if you do not belong to the &amp;lt;code&amp;gt;DataManager&amp;lt;/code&amp;gt; group:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;[[Documentation/{{documentation/version}}/Developers/Tutorials/ObtainExtensionServerApiKey|Create an account on the extension server and obtain an API Key]]. You will then use your midas login and api key to substitute &amp;lt;code&amp;gt;&amp;lt;YOUR-MIDAS-LOGIN&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;YOUR-MIDAS-APIKEY&amp;gt;&amp;lt;/code&amp;gt; in the examples.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;If not already done, go to [http://slicer.kitware.com/midas3/community/23 NA-MIC community] and click on &amp;lt;code&amp;gt;Join community&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Send an email on the developer list asking to be added to the &amp;lt;code&amp;gt;DataManager&amp;lt;/code&amp;gt; group on NA-MIC community. That will grant you read/write permissions to the &amp;lt;code&amp;gt;Data&amp;lt;/code&amp;gt; folder and sub-folders.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Install prerequisites&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkvirtualenv -p python2.7 version_namic_datatree&lt;br /&gt;
$ pip install pydas&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Confirm that the &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; of the &amp;lt;code&amp;gt;Data&amp;lt;/code&amp;gt; folder is still [http://slicer.kitware.com/midas3/folder/301 301].&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Simulate creation of &amp;lt;code&amp;gt;X.Y&amp;lt;/code&amp;gt; data folders based &amp;lt;code&amp;gt;Nightly&amp;lt;/code&amp;gt; ones&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MIDAS_EMAIL=&amp;lt;YOUR-MIDAS-LOGIN&amp;gt;&lt;br /&gt;
MIDAS_API_KEY=&amp;lt;YOUR-MIDAS-APIKEY&amp;gt;&lt;br /&gt;
DEST_VERSION=X.Y&lt;br /&gt;
DATA_FOLDER_ID=301&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd /path/to/Slicer/Base/Python/slicer/release&lt;br /&gt;
$ python midasdata.py --url=http://slicer.kitware.com/midas3 --data_id=$DATA_FOLDER_ID \&lt;br /&gt;
  --email=$MIDAS_EMAIL --apikey=$MIDAS_API_KEY --source_version=Nightly --dest_version=$DEST_VERSION --dry-run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of output:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application ( folder_id: 302 )&lt;br /&gt;
'-Nightly ( folder_id: 831 )&lt;br /&gt;
'-'-Testing ( folder_id: 832 )&lt;br /&gt;
'-'-'-Baseline ( folder_id: 889 )&lt;br /&gt;
'-'-'-'-DiffusionTensorImagingTutorial.png ( item_id: 12067 )&lt;br /&gt;
'-'-'-'-NeurosurgicalPlanningTutorial.png ( item_id: 12066 )&lt;br /&gt;
'-'-'-'-SlicerTestingTest.png ( item_id: 17760 )&lt;br /&gt;
'-'-'-Input ( folder_id: 833 )&lt;br /&gt;
'-'-'-'-AtlasTests ( folder_id: 834 )&lt;br /&gt;
'-'-'-'-'-2012-10-26-BrainAtlas.mrb ( item_id: 10276 )&lt;br /&gt;
[...]&lt;br /&gt;
Module: VotingBinaryHoleFillingImageFilter ( folder_id: 1491 )&lt;br /&gt;
'-Nightly ( folder_id: 1491 )&lt;br /&gt;
'-'-Testing ( folder_id: 1492 )&lt;br /&gt;
'-'-'-Baseline ( folder_id: 1493 )&lt;br /&gt;
'-'-'-'-VotingBinaryHoleFillingImageFilterTest.nhdr ( item_id: 103418 )&lt;br /&gt;
'-'-'-'-VotingBinaryHoleFillingImageFilterTest.raw.gz ( item_id: 103419 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Create &amp;lt;code&amp;gt;X.Y&amp;lt;/code&amp;gt; data tree based &amp;lt;code&amp;gt;Nightly&amp;lt;/code&amp;gt; ones&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ python midasdata.py --url=http://slicer.kitware.com/midas3 --data_id=301 \&lt;br /&gt;
  --email=$MIDAS_EMAIL --apikey=$MIDAS_API_KEY --source_version=Nightly --dest_version=$DEST_VERSION&lt;br /&gt;
&lt;br /&gt;
Versioning of the NA-MIC Data tree for release X.Y...&lt;br /&gt;
Versioning Modules...&lt;br /&gt;
[...]&lt;br /&gt;
Versioning Modules...[DONE]&lt;br /&gt;
Versioning Application...&lt;br /&gt;
Creating folder X.Y under Application directory&lt;br /&gt;
Duplicating subfolders from Nightly to X.Y...&lt;br /&gt;
Duplicating subfolders from Nightly to X.Y...[DONE]&lt;br /&gt;
Versioning Application...[DONE]&lt;br /&gt;
Versioning of the NA-MIC Data tree for release X.Y...[DONE]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update external website ===&lt;br /&gt;
&lt;br /&gt;
* http://en.wikipedia.org/wiki/3DSlicer&lt;br /&gt;
* http://www.nitrc.org/projects/slicer/&lt;br /&gt;
&lt;br /&gt;
=== Update ExtensionStats extension ===&lt;br /&gt;
&lt;br /&gt;
Update https://github.com/ihnorton/SlicerDeveloperToolsForExtensions/blob/5ceceabbb3ae35a669309389aa34e596699ca058/ExtensionStats/ExtensionStats.py#L322-L340&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Tag associated projects ===&lt;br /&gt;
* Slicer/SlicerExecutionModel&lt;br /&gt;
* Slicer/VTK&lt;br /&gt;
* Slicer/ITK&lt;br /&gt;
* commontk/CTK ?&lt;br /&gt;
* commontk/PythonQt ?&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Appendix ==&lt;br /&gt;
&lt;br /&gt;
=== Sign packages ===&lt;br /&gt;
&lt;br /&gt;
==== MacOSX ====&lt;br /&gt;
As discussed in issue [http://na-mic.org/Bug/view.php?id=3965 #3965], the code signing command is of the form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
codesign --deep --force --sign &amp;quot;Developer ID Application: &amp;lt;Name-of-certificate-in-keychain&amp;gt;&amp;quot; ./Slicer.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the argument to &amp;lt;code&amp;gt;--sign&amp;lt;/code&amp;gt; is the name of the developer's certificate in Mac OS X Keychain.app .&lt;br /&gt;
&lt;br /&gt;
'''Note: The signing of MacOSX package is not yet implemented in our nightly and release build workflows.''' See [[Documentation/Nightly/Developers/Mac_OS_X_Code_Signing]] for more information.&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
TBD - See [http://na-mic.org/Bug/view.php?id=2697 #2697]&lt;br /&gt;
&lt;br /&gt;
Also see [[Documentation/Nightly/Developers/Windows_Code_Signing]] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Backport commit into release branch ===&lt;br /&gt;
&lt;br /&gt;
The following steps will lead to the creation of new git-svn clone having two branches:&lt;br /&gt;
* &amp;lt;code&amp;gt;git-svn&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;git-svn-XY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reference: http://www.dmo.ca/blog/20070608113513/&lt;br /&gt;
&lt;br /&gt;
==== Step 1: Checkout sources ====&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/Slicer/Slicer.git Slicer-X.Y&lt;br /&gt;
 cd Slicer-X.Y&lt;br /&gt;
 git svn init http://svn.slicer.org/Slicer4/trunk&lt;br /&gt;
 git update-ref refs/remotes/git-svn refs/remotes/origin/master&lt;br /&gt;
 git checkout master&lt;br /&gt;
 git svn rebase&lt;br /&gt;
&lt;br /&gt;
==== Step 2: Add release branch remote ====&lt;br /&gt;
&lt;br /&gt;
Edit &amp;lt;code&amp;gt;.git/config&amp;lt;/code&amp;gt;, and in addition to the existing 'git-svn' remote, add the following one:&lt;br /&gt;
&lt;br /&gt;
 [svn-remote &amp;quot;svn-XY&amp;quot;]&lt;br /&gt;
    url = http://svn.slicer.org/Slicer4/branches/Slicer-X-Y&lt;br /&gt;
    fetch = :refs/remotes/git-svn-XY&lt;br /&gt;
&lt;br /&gt;
==== Step 3: Pull associated SVN branch ====&lt;br /&gt;
&lt;br /&gt;
 git svn fetch svn-XY&lt;br /&gt;
 git checkout -b master-XY git-svn-XY&lt;br /&gt;
&lt;br /&gt;
==== Step 4: Backport ====&lt;br /&gt;
&lt;br /&gt;
We can now cherry pick commit associated with master (trunk) into &amp;lt;code&amp;gt;master-XY&amp;lt;/code&amp;gt; (Slicer-X-Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Step 5: Create a patch release ====&lt;br /&gt;
&lt;br /&gt;
{{wip}}&lt;br /&gt;
&lt;br /&gt;
Slicer trunk: Update Major/Minor/Patch version to match latest release&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script to upload Slicer packages ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
File: upload-Slicer-to-slicer-kitware-com.cmake&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 3.9.0)&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# To run this script:&lt;br /&gt;
#&lt;br /&gt;
#  cmake -P upload-Slicer-to-slicer-kitware-com.cmake&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Variables to update:&lt;br /&gt;
#&lt;br /&gt;
#   CMAKE_MODULE_PATH&lt;br /&gt;
#&lt;br /&gt;
#   release&lt;br /&gt;
#   source_revision&lt;br /&gt;
#   source_checkoutdate&lt;br /&gt;
#   MIDAS_PACKAGE_EMAIL&lt;br /&gt;
#   MIDAS_PACKAGE_API_KEY&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
list(APPEND CMAKE_MODULE_PATH&lt;br /&gt;
  D:/D/N/Slicer-1/CMake&lt;br /&gt;
  )&lt;br /&gt;
include(MIDASAPIUploadPackage)&lt;br /&gt;
&lt;br /&gt;
set(operating_system    &amp;quot;win&amp;quot;) # linux, macosx, win&lt;br /&gt;
&lt;br /&gt;
set(release             &amp;quot;4.8.0&amp;quot;)&lt;br /&gt;
set(source_revision     &amp;quot;26489&amp;quot;)&lt;br /&gt;
set(source_checkoutdate &amp;quot;2017-10-18 05:11:33&amp;quot;)&lt;br /&gt;
set(MIDAS_PACKAGE_EMAIL &amp;quot;&amp;lt;YOUR-MIDAS-LOGIN&amp;gt;&amp;quot;)&lt;br /&gt;
set(MIDAS_PACKAGE_API_KEY &amp;quot;&amp;lt;YOUR-MIDAS-APIKEY&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
set(ext_linux  &amp;quot;tar.gz&amp;quot;)&lt;br /&gt;
set(ext_macosx &amp;quot;dmg&amp;quot;)&lt;br /&gt;
set(ext_win    &amp;quot;exe&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
set(package_filepath    &amp;quot;C:/Users/dashboard/Downloads/Slicer-${release}-${operating_system}-amd64.${ext_${operating_system}}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
message(STATUS &amp;quot;Upload ${package_filepath}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
set(MIDAS_PACKAGE_URL http://slicer.kitware.com/midas3)                          &lt;br /&gt;
set(submission_type     &amp;quot;experimental&amp;quot;)&lt;br /&gt;
set(architecture        &amp;quot;amd64&amp;quot;)&lt;br /&gt;
set(package_type        &amp;quot;installer&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
midas_api_upload_package(&lt;br /&gt;
  SERVER_URL ${MIDAS_PACKAGE_URL}&lt;br /&gt;
  SERVER_EMAIL ${MIDAS_PACKAGE_EMAIL}&lt;br /&gt;
  SERVER_APIKEY ${MIDAS_PACKAGE_API_KEY}&lt;br /&gt;
  SUBMISSION_TYPE ${submission_type}&lt;br /&gt;
  SOURCE_REVISION ${source_revision}&lt;br /&gt;
  SOURCE_CHECKOUTDATE ${source_checkoutdate}&lt;br /&gt;
  OPERATING_SYSTEM ${operating_system}&lt;br /&gt;
  ARCHITECTURE ${architecture}&lt;br /&gt;
  PACKAGE_FILEPATH ${package_filepath}&lt;br /&gt;
  PACKAGE_TYPE ${package_type}&lt;br /&gt;
  RELEASE ${release}&lt;br /&gt;
  RESULT_VARNAME output&lt;br /&gt;
  )&lt;br /&gt;
set(expected_output &amp;quot;ok&amp;quot;)&lt;br /&gt;
if(NOT &amp;quot;${output}&amp;quot; STREQUAL &amp;quot;${expected_output}&amp;quot;)&lt;br /&gt;
  message(FATAL_ERROR &amp;quot;Problem with midas_api_upload_package()\n&amp;quot;&lt;br /&gt;
                      &amp;quot;output:${output}\n&amp;quot;&lt;br /&gt;
                      &amp;quot;expected_output:${expected_output}&amp;quot;)&lt;br /&gt;
endif()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Limitations of download.slicer.org ===&lt;br /&gt;
&lt;br /&gt;
Considering that &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;(1) few minutes after a package is uploaded on http://slicer.kitware.com, it is indexed in the database associated with http://download.slicer.org, and &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;(2) the system indexing the package does &amp;lt;b&amp;gt;NOT&amp;lt;/b&amp;gt; rewrite its database entries,&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using the [[#Explicit_tagging_of_release_packages|steps below]] will &amp;lt;b&amp;gt;NOT&amp;lt;/b&amp;gt; result in an update of the packages reported on http://download.slicer.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Source code available at https://github.com/mhalle/slicer4-download.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Explicit tagging of release packages ===&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
&lt;br /&gt;
* If needed, create a X.Y.Z folder in [http://slicer.kitware.com/midas3/folder/274 Slicer/Packages/Application/Release]&lt;br /&gt;
** Copy uploaded packages into the folder created above (Keep the default &amp;lt;b&amp;gt;Create a reference to the existing item&amp;lt;/b&amp;gt;)&lt;br /&gt;
** Identify the item_id associated with uploaded packages. For example: 316530, 316529&lt;br /&gt;
** From Kitware internal network, SSH connect to &amp;lt;code&amp;gt;jcfr@slicer.kitware.com&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;jcfr@192.168.120.210&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Connect to mysql&lt;br /&gt;
*** &amp;lt;code&amp;gt;password=$(cat /var/www/midas3/core/configs/database.local.ini | grep database.params.password | cut -d&amp;quot;=&amp;quot; -f2 | head -n1 | sed 's/&amp;quot;//g')&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;mysql -u midas -p$password -D midas&amp;lt;/code&amp;gt;&lt;br /&gt;
*** See file &amp;lt;code&amp;gt;/var/www/midas3/core/configs/database.local.ini&amp;lt;/code&amp;gt; for password&lt;br /&gt;
*** Selected database is midas (&amp;lt;code&amp;gt;use midas&amp;lt;/code&amp;gt;)&lt;br /&gt;
** List packages associated with identified items and check they are the appropriate ones:&lt;br /&gt;
*** &amp;lt;code&amp;gt;select *  from slicerpackages_package as p , item as i where i.item_id = p.item_id and p.item_id in (316530, 316529);&amp;lt;/code&amp;gt;&lt;br /&gt;
** Set release field&lt;br /&gt;
*** &amp;lt;code&amp;gt;update slicerpackages_package set `release`=&amp;quot;4.8.0&amp;quot; where item_id in (316530, 316529);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User Survey (not used anymore) ===&lt;br /&gt;
&lt;br /&gt;
See https://docs.google.com/forms/d/1rggxoTV5KL_vt3gX9BNNAcKH4pnL5lkMqPnklOThINg&lt;br /&gt;
&lt;br /&gt;
With each release, the title of the survey had to be updated.&lt;br /&gt;
&lt;br /&gt;
Now, the Slicer welcome module has been updated to ask user to report feedback on the Slicer forum&lt;/div&gt;</summary>
		<author><name>UpdateBot</name></author>
		
	</entry>
</feed>