<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Release_Policy</title><link>https://sourceforge.net/p/postgres-xc/xc-wiki/Release_Policy/</link><description>Recent changes to Release_Policy</description><atom:link href="https://sourceforge.net/p/postgres-xc/xc-wiki/Release_Policy/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 27 Jun 2014 02:32:33 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/postgres-xc/xc-wiki/Release_Policy/feed" rel="self" type="application/rss+xml"/><item><title>Release_Policy modified by Koichi Suzuki</title><link>https://sourceforge.net/p/postgres-xc/xc-wiki/Release_Policy/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;&amp;lt;gallery&amp;gt; &amp;lt;/gallery&amp;gt;This document describes the release policy of Postgres-XC. This policy is respected from version 0.9.5. &lt;/p&gt;
&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#about-code-base"&gt;About code base&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#versioning"&gt;Versioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#release-process-in-git"&gt;Release process in GIT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#tarball-name"&gt;Tarball name&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#merge-policy-with-postgresql"&gt;Merge policy with PostgreSQL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="about-code-base"&gt;About code base&lt;/h2&gt;
&lt;p&gt;In GIT repository, Postgres-XC master branch is aligned with PostgreSQL code up to the latest intersection of PostgreSQL master branch and X_X_STABLE branches (determined with git merge-base). As PostgreSQL stable branches are created more or less at each beta2 release once a year, Postgres-XC master branch is realigned once a year with PostgreSQL master branch. This allows to make releases of Postgres-XC by including code commits of latest PostgreSQL stable branch and having a stable version. &lt;/p&gt;
&lt;h2 id="versioning"&gt;Versioning&lt;/h2&gt;
&lt;p&gt;Each major release of Postgres-XC is numbered 0.9.5, 0.9.6, etc. by incrementing the latest digit number. Minor releases are numbered 0.9.X.X and then 1.X.X for versions from 1.0. &lt;/p&gt;
&lt;p&gt;A minor release is made respecting a 3-month cycle. Minor releases just contain the latest commits of PostgreSQL stable branch release depending on the stable branch is forked on and Postgres-XC maintenance fixes. For example, release 0.9.5 used this number as major release number, then minor releases are numbered 0.9.5.1, 0.9.5.2, etc. by incrementing the latest digit number. &lt;/p&gt;
&lt;h2 id="release-process-in-git"&gt;Release process in GIT&lt;/h2&gt;
&lt;p&gt;At a new release, a new branch called REL0_9_X_STABLE for 0.9.X versions and REL1_X_STABLE for 1.X versions is created. This new branch contains the latest Postgres-XC development and a merge of the latest PostgreSQL stable branch where Postgres-XC master branch is forked on. All the commits of stable branch are included at the time of Postgres-XC release to include a maximum of fixes. &lt;/p&gt;
&lt;p&gt;Then when a release minor or major is made, a tag is created. &lt;/p&gt;
&lt;p&gt;Then following format is respected depending on if release is minor or major, on if release is numbered more or less than 1.0. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;XC0_9_Y_PG8_X for major release 0.9.Y up to 1.0 based on PostgreSQL 8.X &lt;/li&gt;
&lt;li&gt;XC0_9_Y_Z_PG8_X for minor releases 0.9.Y.Z up to 1.0 based on PostgreSQL 8.X &lt;/li&gt;
&lt;li&gt;XC0_9_Y_PG9_X for major release 0.9.Y up to 1.0 based on PostgreSQL 9.X &lt;/li&gt;
&lt;li&gt;XC0_9_Y_Z_PG9_X for minor releases 0.9.Y.Z up to 1.0 based on PostgreSQL 9.X &lt;/li&gt;
&lt;li&gt;XC1_Y_PG9_X for major releases 1.Y from 1.0 based on PostgreSQL 9.X &lt;/li&gt;
&lt;li&gt;XC1_Y_Z_PG9_X for minor releases 1.Y.Z from 1.0 based on PostgreSQL 9.X &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This system permits to keep a trace on versions of PostgreSQL Postgres-XC is based on. &lt;/p&gt;
&lt;h2 id="tarball-name"&gt;Tarball name&lt;/h2&gt;
&lt;p&gt;A release of Postgres-XC has a tarball name respecting the following convention: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For release X.Y.Z, tarball name is postgres-xc.X.Y.Z.tar.gz &lt;/li&gt;
&lt;li&gt;RPM, SRPM packages or spec files share the same grammar, postgres-xc.X.Y.Z.spec. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;RPM specifications files use the same grammar. Caution: This grammar is not respected until Postgres-XC 0.9.6. &lt;/p&gt;
&lt;h2 id="merge-policy-with-postgresql"&gt;Merge policy with PostgreSQL&lt;/h2&gt;
&lt;p&gt;&lt;img src="./attachment/PG-XC_Release_Policy_Diagram.png" /&gt; &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Koichi Suzuki</dc:creator><pubDate>Fri, 27 Jun 2014 02:32:33 -0000</pubDate><guid>https://sourceforge.netd0ab1f9059af16d7ce0535054fea3f486a88a306</guid></item></channel></rss>