The following is a preliminary timetable for the next few upcoming releases. Dates, feature deliverables, and even version numbers found in this list are all subject to change (and become increasingly more speculative the further out we attempt to project). Fortunately, the same dynamics that allow features to fall out of releases or for release dates to slip also allow for feature and release acceleration. That's the nature of open-source, community-driven software projects (and we think it's a great thing). So if you don't like what you see here, do something about it: your contributions are always welcome!
| Date | Task | Deliverables / Notes |
|---|---|---|
| 2011-07-13 | Branch 1.7.x | 1.7.0 feature-complete |
| 2011-10-11 | Release 1.7.0 | HTTPv2; WC-NG; svn patch |
| Nine months after 1.7.0 | Release 1.8.0 | repository-dictated config; tree conflicts improvements; rename tracking; compressed pristines; shelving / checkpointing |
| ??? | Release 1.9.0 | Editor v2 (server/client rename communication) |
| ERROR: lib_psychic failed to load. | Release 2.0.0 | FS-NG (and as-yet-unknown FS-NG-enabled features) |
We try to roll releases on Wednesdays. Like most of the other information on this page, the day we roll isn't a hard-and-fast rule, but it is something that has been useful in the past. Rolling mid-week gives us enough time for the release preparation process in the couple of days prior to the release, and some time before the weekend for validation of the release tarballs. The release is finalized and announced as soon after the completion of the validation process as possible. See the documentation of our release process for more information.
Subversion uses a compromise between time-driven and feature-driven release planning. We schedule the next release for an approximate date (very approximate), and make sure it contains one or more new features or other significant differentiators, but we don't say exactly what those new features will be. This is because we're always working on several things at once, and we want to give each new feature time to mature. Especially given the decentralized nature of open-source development, we're wary of forcing technical discussions to premature consensus. At the same time, it's good for the project to have regular releases, so we try to keep to a schedule and to have something ready to roll out when the release date comes along.
In this context, "release" means an increment of the minor release number, which is the middle number in our three-component system. Thus, 1.2.0, 1.3.0, and 1.4.0 are successive minor releases in the "1.x" line, whereas 1.1.1, 1.1.2, and 1.1.3 are successive patch (bugfix) releases in the "1.1.x" line. We don't schedule patch releases far in advance, we just put them out when we feel enough bugfixes have accumulated to warrant it. Major new releases, such as Subversion 2.0, will probably be done much like the minor releases, just with more planning around the exact features. For more information about Subversion's release numbering and compatibility policies, see the section entitled "Release numbering, compatibility, and deprecation" in the Subversion Community Guide.
The following is a list of "most wanted" features/enhancements we've identified as important and achievable, in no particular order, along with the chain of dependendies we believe exist and stand in the way of our delivering these items in Subversion. This is not an exhaustive list! It merely represents some of the "the big ones" — big in impact, and probably big in development cost.
Fill in the details here!
| Feature / Enhancement | Dependencies | Target Release | Issue(s) |
|---|---|---|---|
| Improved HTTP Protocol (HTTPv2) | 1.7 | 3371 | |
| FSFS packed revprops | 1.8 | 3944 | |
| New Delta Editor (Ev2) | 1.9? | 3628 | |
| New Working Copy Library (WC-NG) | 1.7 | 3357 | |
| Flexible Repository Storage (FS-NG) | 2.0? | ||
| Obliterate | FS-NG | 516 | |
| Shelve | WC-NG | 1.8? | 3625 |
| Checkpoint | WC-NG | 1.8? | 3626 |
| Repository-dictated Configuration | WC-NG? | 1.8? | 1974 |
| Rename Tracking | WC-NG, Ev2, FS-NG? | 1.8? (partial) | 898, 3630 |
| Improved Merging | WC-NG | ||
| Improved Tree Conflict Handling | WC-NG, Ev2, Rename Tracking | 1.8? (partial) | |
| Enterprise Authentication Mechanisms | 3629 | ||
| Forward History Searching | FS-NG? | 3627 | |
| Log Message Templates | Repository-dictated Configuration |
The following table contains items currently targetted for the upcoming major release, along with their completion status. It is meant mainly for developers, but can help answer the oft-asked question "how is the next release coming along?" If you are interested in helping speed up the next release, consider tackling one of the incomplete items below.
| Task | Status | Notes |
|---|---|---|
| WC-NG | Completed | Issue 3357 |
| Replace deprecated constructs (entries/entry_t's, e.g.) | Completed | |
| Migrate properties into WC_DB | Completed | |
| Introduce shared pristine storage mechanism | Completed | |
| Enable single-db on trunk | Completed | |
| Conversion to the NODE_DATA table | Completed | |
| Conflict storage | Deferred | |
| Upgrade to single DB | Completed | Conversion script for devs exists, and end-user "svn upgrade" working, but back up your WC before using either of these. |
| Externals | Completed | Review and fix interaction of externals with WC-NG (Issue 3818) and try to fix known file external issues: Issue 3563 Issue 3589 |
| HTTPv2 | Completed | Depends on ra_serf stabilisation (see below). |
| Remote repository dump/load | Completed | ^/subversion/trunk/subversion/svnrdump/ |
svn patch (and related svn diff
improvements) |
Completed | Targeted feature set for 1.7 has been reached. All known release-critical problems have been fixed. |
| Better handling of redirects | Completed | Issue 2779 |
| FSFS: Packing of revision property shards | Deferred | Issue 3944, Issue 3952 |
| Atomic changes of revision properties | Completed | Branch notes |
| Remove obliterate code | Completed | The obliterate feature work made only extremely minimal progress, and does not carry enough practical usefulness to warrant release. See this thread for discussion. |
| Review of performance branch | Completed | Review items on the performance branch, and determine which bits can/should be included in 1.7. |
| Diff/Blame optimizations | Completed | Efficient processing of identical prefix and suffix lines has been implemented, speeding up diff, merge and blame for large files when changes are contained in a limited part of the files. |
| libsvn_ra_serf stabilization | Deferred | Need to either 1) bring ra_serf performance and utility up to parity with ra_neon, or 2) make ra_neon the default for 1.7. Remaining issues: issue #3875 issue #3888 |
| Test Review | Completed | Determine which XFail and WIP tests should
remain so, and which need to be fixed before release. |
| API Review | Completed | api-errata |
| Issue triage | Completed | Review open issues for the 1.7.0, 1.7-consider, and 1.6.x, milestones. |
| Remove temp APIs | Deferred | Review APIs added in 1.7 (including APIs internal to libsvn_wc), and determine which ones should stay, and which should be removed. |
| API performance analysis | Deferred | Profile the new APIs to determine which can/should be optimized. |
| Updating the 1.6.x→1.7.x changelog | Completed | CHANGES (Note: due to the size of the 1.7.0 release, the CHANGES file does not list all smallish and smaller features that are new in 1.7.0 compared to 1.6.x.) |
| Compose 1.7 release notes | Completed | Subversion 1.7 Release Notes (Note: this is not a blocker for the 1.7.x branch.) |
The following table contains items currently targetted for the subsequent major release, along with their completion status. It is meant mainly for developers, but can help answer the oft-asked question "how is the next release coming along?" If you are interested in helping speed up the next release, consider tackling one of the incomplete items below.
This table is incomplete and does not contain all features planned for inclusion in Subversion 1.8.
| Task | Status | Notes |
|---|---|---|
| GPG Agent support | Completed | See comment added in this commit for more information. |
| FSFS: Packing of revision property shards | In Progress | Issue 3944 |
| Improved handling of local moves/renames | Completed | Issue 3631 |
| Improved handling of server-side moves/renames | In Progress | Issue 3633 |
| Editor V2 | In Progress | svn_editor.h API, notes/editor-v2.txt |
| Conflict storage | Not Started | Design spec is here. Implementation was planned for 1.7 but didn't make it. |
| Commit shelving / checkpointing | Not Started | Issue 3625 and Issue 3626 |
| libsvn_ra_serf stabilization | Not Started | Need to either 1) bring ra_serf performance and utility up to
parity with ra_neon, or 2) make ra_neon the default for 1.8.
Relevant issue tracker entries: issue #3984 issue #3980 issue #3981 issue #3990 issue #2932 issue #3979 issue #3832 issue #3969 issue #3968 (note: some of these may not be blockers) |
| Review of performance branch | Not Started | Review items on the performance branch, and determine which bits can/should be included in 1.8. |
| Test Review | Not Started | Determine which XFail and WIP tests should
remain so, and which need to be fixed before release. |
| API Review | Not Started | api-errata |
| Issue triage | Not Started | Review open issues for the 1.8.0, 1.8-consider, and 1.7.x, milestones. |
| Remove temp APIs | Not Started | Review APIs added in 1.8 (including APIs internal to libsvn_wc), and determine which ones should stay, and which should be removed. |
| Review private APIs | Not Started | Review private APIs (including APIs used by subversion/svn*/, and determine which of them should be promoted to public. |
| API performance analysis | Not Started | Profile the new APIs to determine which can/should be optimized. |
| Updating the 1.7.x→1.8.x changelog | Not Started | CHANGES (Note: this is not a blocker for the 1.8.x branch.) |
| Compose 1.8 release notes | Not Started | Subversion 1.8 Release Notes (Note: this is not a blocker for the 1.8.x branch.) |
For information about past releases, see the release notes.