Squid 3 Roadmap
Contents
Roadmap rules
To minimize noise and the number of half-baked abandoned features, two Feature sets are established for Squid3 development projects: The TODO List and The Wish List.
- TODO list
- TODO list features determine the release focus and timeline. Each feature must document their desired effect and estimated development time. Each feature must have at least one known active developer behind it willing to prioritize the feature and be ready to spend the time to fully develop the proposed feature (i.e., write, test, document, commit, and provide initial support).
- Priorities
- Each developer needs to prioritize the features they are dedicated to completing with a rating estimating on the order they will complete the feature. This makes the priority public, so another developer may join and push the feature faster if needed.
- Wish List
- The Wish List accumulates features that do not meet the strict TODO List criteria. Many of these features can be implemented if there is enough demand or a sponsor. Some may get implemented outside of the official process, submitted as patches, and accepted into the release.
There are no longer any freezing points in the 3.x Roadmap. Instead, Point Releases are now made at regular intervals as determined by; a reasonable time since last point release, or a large number of features being added.
All features must pass an auditing process for commit to HEAD, and any feature which has passed that process at time of release will be included in that release.
Features which have not reached completion or have failed the audit, are automatically delayed to the next Squid release. Which should not be an unreasonable delay given the new fast-track release plan.
Squid 3.1
Now in RELEASE CANDIDATE cycle. The features have been set and large code changes are reserved for later versions.
Additions are limited to:
- Security fixes
- Stability fixes
- small optimizations
Basic new features in 3.1
- Follow X-Forwarded-For support
- X-Forwarded-For options extended (truncate, delete, transparent)
- Peer-Name ACL
- Reply headers to external ACL.
Packages of squid 3.1 source code are available at http://www.squid-cache.org/Versions/v3/3.1/
Remaining 3.1 TODO
Squid 3.2 (HEAD)
Now in DEVELOPMENT cycle. The set of new Squid 3.2 features and release timeline is determined by submissions and available developer time. New features may be completed and added at any time until the branching of 3.2 which will probably not happen sooner than June 2009 or February 2010, depending on who you ask.
The intention is to remove the backlog of feature parity between 2.7 and 3.2 (listed as regressions in 3.1 http://www.squid-cache.org/Versions/v3/3.1/RELEASENOTES.html#s7) and concentrate on further performance and HTTP/1.1 improvements.
Done
Development snapshots of Squid source code are available at http://www.squid-cache.org/Versions/v3/HEAD/
TODO
These are the feature we are trying to work on at present. New features may be requested, suggested, or added to the plan at any time. Those which are completed and merged will be in the next formal branch after their merge date.
Features under development:
Features considered high-priority for including with 3.2, but not yet with a dedicated developer to achieve that goal. Incomplete items will be bumped to 3.3 if not completed by initial 3.2 release:
(Priority 1)
- Store URL re-write port from 2.7
monitor* port from 2.6. http://www.squid-cache.org/bugs/show_bug.cgi?id=2185
(Priority 2)
- Variant Invalidation
(Priority 3)
(Others)
There is also a list of Tasks which anyone can help with.
Wish List
Wishlist consists of features which have been suggested or requested but do not yet have a developer or any contributor willing to see the feature completed and support it.
Please contact squid-dev and discuss these if you with to take on development of one.
- Features/ClientSideCleanup
- Features/CommCleanup
- Features/ConfigUpdater
- Features/Diagnostics
- Features/ETagVarySupport
- Features/EtagSupport
- Features/ExternalRefreshCheck
- Features/FasterHttpParser
- Features/HelperPause
- Features/LoadBalance
- Features/MonitorUrl
- Features/MultipleUnlinkdQueues
- Features/NetDbForIpv6
- Features/NoCentralStoreIndex
- Features/PartialResponsesCaching
- Features/Quota
- Features/SimpleWebServer
- Features/SmpScale
- Features/SquidAppliance
- Features/SrvDnsOriginServerLocation
- Features/StackableIO
- Features/TCPAccess
- Features/UrnSupportRemoval
- Features/VaryProcessing
More ideas are available elsewhere.
Schedule for Future Removals
Certain features are no longer relevant as the code improves and are planned for removal. Due to the possibility they are being used we list them here along with the release version they are expected to disappear.
Version |
Feature |
Why |
3.1 |
error_directory files with named languages |
Superseded by ISO-639 translations in langpack |
3.2 |
Multiple languages per error page. |
Superseded by auto-negotiation in 3.1+ |
3.3 |
TPROXYv2 Support |
TPROXYv4 available from 3.1 and native Linux kernels |
