summaryrefslogtreecommitdiff
path: root/ReleasePlanning2013.mdwn
blob: 45606e68e890379abdc8a15fb0bf38337c3cc500 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105


# GStreamer release schedule for 2013

Proposed release schedule / roadmap for the year 2013. 


## Road Map

see [[ReleasePlanning/RoadMap|ReleasePlanning/RoadMap]] 


## Summary Schedule

This is a tentative schedule for releases for 2013: 
[[!table header="no" class="mointable" data="""
 **Date**  |  **Task** 
 ~Jan 04  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.0.5** bug-fix release off 1.0 branch 
 ~January  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.1.1** development release off git master 
 ~Jan 20  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.0.6** bug-fix release off 1.0 branch 
 ~January  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.1.x** development releases off git master 
 ~February  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.2.0** stable release off git master 
 ~February  |  git master open for bug-fix commits only 
 ~Feb/March  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.2.x** bug-fix releases off git master 
 ~March  |  **git 1.2 branch created** for further 1.2.x bug-fixing  
 ~March  |  **git master becomes 1.3.x**, open for new feature development, bigger changes and bug-fixing 
 ~March/April  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.2.x** bug-fix releases off 1.2 branch 
 ~April/May  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.3.x** development releases off git master 
 ~May  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.4.0** stable release off git master 
 ~May  |  git master open for bug-fix commits only 
 ~May/June  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.4.x** bug-fix releases off git master 
 ~June  |  **git 1.4 branch created** for further 1.4.x bug-fixing  
 ~June  |  **git master becomes 1.5.x**, open for new feature development, bigger changes and bug-fixing 
 ~June/July  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.4.x** bug-fix releases off 1.4 branch 
 ~July/Aug  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.5.x** development releases off git master 
 ~August  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.6.0** stable release off git master 
 ~August  |  git master open for bug-fix commits only 
 ~Aug/Sept  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.6.x** bug-fix releases off git master 
 ~Sept  |  **git 1.6 branch created** for further 1.6.x bug-fixing  
 ~Sept  |  **git master becomes 1.7.x**, open for new feature development, bigger changes and bug-fixing 
 ~Sept/Oct  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.6.x** bug-fix releases off 1.6 branch 
 ~Oct/Nov  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.7.x** development releases off git master 
 ~Dec  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.8.0** stable release off git master 
 ~Dec  |  git master open for bug-fix commits only 
 ~Dec  |  **Core/Base/Good/Ugly/Bad/gst-libav 1.8.x** bug-fix releases off git master 
"""]]

gst-libav, gst-python, gnonlin and gst-editing-services releases may be done ad-hoc or in any of these cycles as well. 


## New Versioning Scheme

All 1.x.y versions will carry a -1.0 API version suffix. 

* 1.0.0, 1.0.1, 1.0.2, 1.0.3... stable release and follow-up bug-fix releases 
* 1.1.0, 1.1.1, 1.1.2, 1.1.3... pre-releases, development version leading up to 1.2.0 
* 1.2.0, 1.2.1, 1.2.2, 1.2.3... stable release and follow-up bug-fix releases 
* 1.3.0, .. 
* 1.4.0, .. 
* ... 
2.0.0 would be the next ABI break, with "-2.0" as API version suffix (the unstable development versions leading up to it would be 1.99.x with a -1.99 API suffix), which would be parallel-installable with 1.0 of course. There are currently no plans for a 2.0 version. 


## More frequent bug-fix releases

1.x.1, 1.x.2, 1.x.3 etc. are stable follow-up bug-fix releases for the stable 1.x.0 release, for even values of x (0, 2, 4, 6..). 

Bug-fix releases may be made from git master or from a 1.x bug-fix branch into which fixes are cherry-picked from git master. 

Bug-fix releases will usually not feature new API (at best minor additions like a new utility function or property). 

There will be no plugin moves, renaming or plugin merges within a stable bug-fix series. 

There will be no upping of version requirements of libraries we depend on (e.g. GLib or libraries plugins depend on) within a stable bug-fix series. 


## Process (not entirely up-to-date)

At the moment there are six GStreamer modules included in the schedule, which are regularly released: 

* GStreamer Core 
* GStreamer Base Plugins 
* GStreamer Good Plugins 
* GStreamer Bad Plugins 
* GStreamer Ugly Plugins 
* GStreamer Libav Plugins (formerly GStreamer FFmpeg) 
Each module will see a major stable release (a new 1.x.0 for even x) every few months. Each major stable release will see a few follow-up 1.x.y bug-fix releases. 

Modules not included in the release schedule: 

* Gnonlin - released ad-hoc as maintainer sees fit 
* GStreamer Editing Services (GES) - released ad-hoc as maintainer sees fit 
* GStreamer Openmax (gst-omx) - released ad-hoc as maintainer sees fit 
* GStreamer OpenGL support - released ad-hoc as maintainer and/or active developers see fit 
* GStreamer RTSP server library - released ad-hoc as maintainer sees fit 
* GStreamer Streaming Server (GSS) - released ad-hoc as maintainer sees fit 
* QT-GStreamer - released ad-hoc as maintainer sees fit 
<a name="PluginMoves"></a> 


## Plugin Moves

From time to time, plugins improve in quality sufficiently to warrant moving them from Bad to Good or Bad to Ugly (or sometimes vice versa in cases of neglect). Such plugin moves require simultaneous releases of the modules involved so that we never ship tarballs with conflicting installed plugins. 

Plugin moves will only happen during a development series (1.1.x, 1.3.x, etc.) in git master, leading up to a new major stable release (1.2.0, 1.4.0, 1.6.0). No plugin moves will happen within a bug-fix release series.