Apache Software Foundation
[S] Subversion

Apache Subversion Roadmap

Upcoming Releases

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.

How We Plan Releases

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.

Our "Most Wanted" Features

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

Upcoming Release Status (Subversion 1.7)

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.)

Next Release Status (Subversion 1.8)

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.)

Past Releases

For information about past releases, see the release notes.