Squid 3 Roadmap
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).
- 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 3.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.6 (3.HEAD)
Now in DEVELOPMENT cycle. The set of new Squid 3.6 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.6 expected to be in mid or late 2015.
This series of Squid requires a C++11 capable compiler. The currently known compilers which meet this criteria and build Squid reliably are GCC 4.8+, Clang 3.3+, and Intel CC 12.0+
Basic new features in 3.6:
Major UI changes:
Minor UI changes:
- basic_msnt_multi_domain_auth: Superceeded by basic_smb_lm_auth
- Sub-millisecond transaction logging
- ext_kerberos_ldap_group_acl -n option to disable automated SASL/GSSAPI
- negotiate_kerberos_auth outputs group= kv-pair for use in note ACL
Adaptation support for Expect:100-continue in HTTP messages
Update localnet ACL default definition for RFC 6890 compliance
Developer Interest changes:
- New helper concurrency channel-ID assignment algorithm
- Simplify MEMPROXY_CLASS_* macros
- Simplify CBDATA API and rename CBDATA_CLASS
- HTTP Parser structural redesign
- Base64 crypto API replacement
- Enable long (--foo) command line parameters on squid binary
The intention with this series is to improve performance using C++11 features. Some remaining Squid-2.7 missing features are listed as regressions in http://www.squid-cache.org/Versions/v3/3.HEAD/RELEASENOTES.html#ss5.1
Packages of what will become squid 3.6 source code are available at http://www.squid-cache.org/Versions/v3/3.HEAD/
See our Advisories list.
- Bugs against any older version can be closed if found fixed in 3.6.
- Bugs inherited from older versions are not necessarily blockers on 3.6 stable.
These are the features 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 considered high-priority for including, but not yet with a dedicated developer to achieve that goal. Incomplete items will be bumped to 3.6 if not completed by initial 3.5 release:
monitor* port from 2.6. 2185
- Variant Invalidation
There is also a list of Tasks which anyone can help with.
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.
More ideas are available elsewhere.
Feature(s) marked 3.1 that did not make it:
Feature(s) marked 3.2 that did not make it:
Feature(s) marked 3.3 that did not make it:
- All feature(s) marked 3.4 made it.
Schedule for Feature 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. Warnings should also be present in the code where possible.
dnsserver and DNS external helper API
Internal DNS client now appears to satisfy all use-cases.
COSS storage type
Superceded by ROCK storage type
Obsolete and very broken security
Netmask Support in ACL
CIDR or RFC-compliant netmasks are now required by 3.1. Netmask support full removal after 3.1 release.