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
Q2 2013 Release 1.8.0 tracking of local moves and related tree-conflicts improvements; merge improvements; inherited properties; ...
Q2 2014 (tentative) Release 1.9.0 Editor v2 (server/client rename communication); master passphrase support; repository-dictated config; compressed pristines; ...
Q2 2015 (speculative at best) Release 1.10.0 shelving; checkpointing; ...
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
New Working Copy Library (WC-NG) 1.7 3357
FSFS packed revprops 1.8 3944
Repository-dictated Configuration WC-NG 1.8 (partial) 1974
Rename Tracking WC-NG, Ev2, FS-NG? 1.8 (partial) 898, 3630
Improved Merging WC-NG 1.8 (partial)
Improved Tree Conflict Handling WC-NG, Ev2, Rename Tracking 1.8 (partial)
New Delta Editor (Ev2) 1.9? 3628
Shelve WC-NG 1.9? 3625
Checkpoint WC-NG 1.9? 3626
Enterprise Authentication Mechanisms 1.9? 3629
Log Message Templates Repository-dictated Configuration 1.9?
Flexible Repository Storage (FS-NG) 2.0?
Obliterate FS-NG 2.0? 516
Forward History Searching FS-NG? 2.0? 3627

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 nonexhaustive — it neither contains nor attempts to contains all the features planned for this release.

Task Status Notes
Specific stuff aimed at this release
GPG Agent support Completed See comment added in this commit for more information.
FSFS: Packing of revision property shards Completed Issue 3944
Improved handling of local moves/renames Completed Issue 3631, Issue 4232.
Conflict storage Completed Design spec is here. Implementation was planned for 1.7 but didn't make it.
libsvn_ra_serf stabilization Completed ra_neon is no more, so ra_serf must be brought up to parity with the previous ra_neon standards of performance and utility. This is largely done, modulo a few remaining bugs which are mostly in Serf itself, not our use thereof.
Review of performance branch Completed Review items on the performance branch, and determine which bits can/should be included in 1.8.
Automatic merge (aka Symmetric merge) Completed wiki page
Inherited properties Completed wiki page
Repos-dictated configuration Completed Uses inherited properties. wiki page
Generic stuff we do for every release
Test review Completed Determine which XFail and WIP tests should remain so, and which need to be fixed before release. dev@s.a.o thread.
API review Completed api-errata/1.8/, Svn18ApiReview
Remove temporary APIs Completed 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 Deferred Review private APIs (including APIs used by subversion/svn*/), and determine which of them should be promoted to public.
API performance analysis Completed Profile the new APIs to determine which can/should be optimized.
Issue triage Completed Review open issues for the 1.8.0, 1.8-consider, and 1.7.x, milestones. dev@s.a.o thread
Update changelog Completed Need to document in CHANGES the 1.7.x→1.8.x changes. (Note: this is not a blocker for the 1.8.x branch.)
Compose release notes In Progress Subversion 1.8 Release Notes (Note: this is not a blocker for the 1.8.x branch.)
Items originally planned for, but now deferred from, this release
Editor V2 Deferred svn_editor.h API, notes/editor-v2.txt. This work is in a shippable state, but has failed to get widespread developer review. It remains private for now with an eye on (hopefully) delivering it as part of our 1.9 public API.
Improved handling of server-side moves/renames Deferred Issue 3633
Commit shelving / checkpointing Deferred Issue 3625 and Issue 3626
Master passphrase and encrypted auth cache support Deferred Work ongoing on feature branch. See the wiki page for design notes.

Past Releases

For information about past releases, see the release notes.