Skip to content

Commit 10cadb8

Browse files
committed
Add documentation around releases
1 parent 3545b1d commit 10cadb8

5 files changed

Lines changed: 414 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,17 @@ To commit code, you should:
6363
* Add or modify existing tests related to code changes being submitted
6464
* Run and ensure that local tests pass before submitting a merge request
6565

66+
## Release Process and Version Support
67+
68+
* **Release Cadence**: ~2 months (volunteer dependent)
69+
* **Version Support**: Latest release plus N-1 through N-4 receive critical fixes; N-5+ unsupported
70+
* **Trunk**: Not stable - never use in production
71+
* **Testing**: Extended RC periods with community testing
72+
73+
Details:
74+
* [Release Process Documentation](presto-docs/src/main/sphinx/develop/release-process.rst) - For developers
75+
* [Version Support Guide](presto-docs/src/main/sphinx/admin/version-support.rst) - For administrators
76+
6677
## Designing Your Code
6778
* Consider your code through 3 axes
6879
1. Code Quality and Maintainability, for example:

presto-docs/src/main/sphinx/admin.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ Administration
2020
admin/spark
2121
admin/verifier
2222
admin/grafana-cloud
23+
admin/version-support
Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
================
2+
Version Support
3+
================
4+
5+
Overview
6+
--------
7+
8+
Presto is maintained by volunteers. This document describes which versions receive support and what level of support to expect.
9+
10+
Support Philosophy
11+
------------------
12+
13+
* Data correctness issues are taken extremely seriously and typically fixed quickly
14+
* Runtime bugs are prioritized and addressed promptly
15+
* Support depends on volunteer availability - no formal SLAs
16+
* Users are encouraged to contribute fixes for issues affecting them
17+
18+
Current Version Support
19+
-----------------------
20+
21+
**Latest Release**
22+
* Primary focus for bug fixes
23+
* Recommended for new deployments after testing
24+
25+
**Past 4 Releases (N-1 through N-4)**
26+
* Critical fixes only when:
27+
28+
- Data correctness issues are found
29+
- Volunteers are available to backport
30+
31+
* Patch releases for severe issues only
32+
* Support decreases with age
33+
34+
**Older Releases (N-5 and earlier)**
35+
* Not supported
36+
* Exceptions only when:
37+
38+
- Volunteer provides the backport
39+
- Fix applies cleanly
40+
- Testing is available
41+
42+
* Upgrade required
43+
44+
**Trunk/Master Branch**
45+
* Development branch - **never use in production**
46+
* Contains experimental features and bugs
47+
* For testing upcoming changes only
48+
49+
**Edge Releases**
50+
* Weekly builds from master
51+
* **Not supported** - no fixes provided
52+
* For testing upcoming features
53+
* Never use in production
54+
55+
Support Lifecycle
56+
-----------------
57+
58+
A typical release follows this lifecycle:
59+
60+
1. **Release Candidates** (2-4 weeks)
61+
62+
- One RC version per release
63+
- Active bug fixing with fixes verified in the existing RC
64+
- High community engagement
65+
66+
2. **Current Release** (approximately 2 months)
67+
68+
- Primary focus for bug fixes
69+
- Active monitoring for issues
70+
- Most community attention
71+
72+
3. **Supported Releases** (N-1 through N-4, approximately 8 months)
73+
74+
- Critical fixes only
75+
- Progressively reduced community focus
76+
- Patch releases for severe issues become less likely with age
77+
78+
4. **Archived** (N-5 and older)
79+
80+
- Generally no active support
81+
- Users strongly encouraged to upgrade
82+
83+
Timeframes are approximate and depend on volunteer availability.
84+
85+
Types of Support
86+
----------------
87+
88+
**Bug Fixes**
89+
Highest priority (typically fixed very quickly):
90+
91+
* Data correctness issues - taken extremely seriously
92+
* Runtime bugs and crashes
93+
* Severe performance regressions
94+
95+
Lower priority:
96+
97+
* Minor performance issues
98+
* UI/cosmetic problems
99+
* Feature enhancements
100+
101+
**Security Vulnerabilities**
102+
* Upgrade to latest release (default recommendation)
103+
* Patches for N-1 through N-4 available upon request
104+
* Backport availability depends on volunteers and severity
105+
* Plan to upgrade rather than rely on backports
106+
107+
**Documentation**
108+
* Release notes for all versions remain available
109+
* Migration guides for major changes
110+
* Community-contributed upgrade experiences
111+
112+
Getting Support
113+
---------------
114+
115+
**Community Channels**
116+
117+
* `Presto Slack <https://communityinviter.com/apps/prestodb/prestodb>`_ - Real-time community discussion
118+
* `GitHub Issues <https://github.com/prestodb/presto/issues>`_ - Bug reports and feature requests
119+
* `Mailing List <https://lists.prestodb.io/g/presto-dev>`_ - Development discussions
120+
121+
**Self-Support Resources**
122+
123+
* Release notes and documentation
124+
* Community Slack search history
125+
* GitHub issues and pull requests
126+
* Stack Overflow questions tagged 'presto'
127+
128+
Recommendations for Production Use
129+
-----------------------------------
130+
131+
**Version Selection**
132+
133+
1. **For new deployments**: Use the latest stable release after thorough testing
134+
2. **For existing deployments**: Stay within 4 versions of the latest release
135+
3. **For conservative environments**: Wait for at least one patch release (if any) before upgrading
136+
4. **Never use trunk/master** in production
137+
138+
**Upgrade Strategy**
139+
140+
* Plan regular upgrades (every 2-4 months)
141+
* Test thoroughly in staging environments
142+
* Monitor community channels for known issues
143+
* Maintain ability to rollback if needed
144+
* Consider skipping releases if stable (but don't fall too far behind)
145+
146+
**Risk Mitigation**
147+
148+
* Maintain test environments matching production
149+
* Participate in release candidate testing
150+
* Monitor community discussions for your version
151+
* Contribute test cases for critical workflows
152+
153+
Contributing to Support
154+
-----------------------
155+
156+
Ways to contribute:
157+
158+
**Report Issues**
159+
* File detailed bug reports with reproduction steps on `GitHub Issues <https://github.com/prestodb/presto/issues>`_
160+
* Test fixes and provide feedback
161+
* Share workarounds with the community
162+
163+
**Contribute Fixes**
164+
* Submit `pull requests <https://github.com/prestodb/presto/pulls>`_ for bugs affecting you
165+
* Help review and test others' fixes
166+
* Backport critical fixes to versions you use
167+
168+
**Share Knowledge**
169+
* Document upgrade experiences
170+
* Answer questions in `Presto Slack <https://communityinviter.com/apps/prestodb/prestodb>`_
171+
* Write blog posts about solutions
172+
* Contribute to `documentation <https://github.com/prestodb/presto/tree/master/presto-docs>`_
173+
174+
**Sponsor Development**
175+
* Allocate engineering resources to the project
176+
* Fund specific feature development
177+
* Support maintainers and release shepherds
178+
179+
Special Considerations
180+
----------------------
181+
182+
**Long-Term Support (LTS)**
183+
* Not available
184+
* Volunteer model incompatible with LTS commitments
185+
186+
**End-of-Life Announcements**
187+
* No formal EOL process
188+
* Versions become unsupported as community moves forward
189+
* Check release announcements for migration guidance
190+
191+
**Compatibility**
192+
* Breaking changes documented in release notes
193+
* Migration guides provided for major changes
194+
* Test when upgrading across multiple versions
195+
196+
Support Expectations
197+
--------------------
198+
199+
**Available:**
200+
201+
* Typically quick response to data correctness and runtime bugs
202+
* Priority focus on critical issues
203+
* Active community troubleshooting help
204+
* Transparency about known issues
205+
206+
**Not Available:**
207+
208+
* Guaranteed response times
209+
* Fixes for all issues
210+
* Support for old versions
211+
* Feature backports
212+
* 24/7 support
213+
214+
Summary
215+
-------
216+
217+
Running Presto in production requires:
218+
219+
* Regular upgrades (every 2-4 months)
220+
* Thorough testing before deploying
221+
* Understanding that support is volunteer-based
222+
* Contributing fixes for issues you encounter

presto-docs/src/main/sphinx/develop.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ This guide is intended for Presto contributors and plugin developers.
2222
develop/presto-console
2323
develop/presto-authenticator
2424
develop/client-request-filter
25+
develop/release-process

0 commit comments

Comments
 (0)