Squid Roadmap

Roadmap rules

To minimize noise and the number of half-baked abandoned features, two Feature sets are established for Squid 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).

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 freezing points in the RoadMap. Instead, the development version gets branched whenever a reasonable number of features have been added. One branch gets renumbered and use as ongoing development. The other for Point Releases made at regular intervals with bug fixes.

All features must pass an auditing process for commit, and any feature which has passed that review process at time of branching will be included in that serie of piint releases.

Features which have not reached completion or have failed the audit, are automatically delayed to the next Squid series. Which should not be an unreasonable delay given the fast-track release plan.

Squid 5


Now in DEVELOPMENT cycle.

The set of new features and release timeline is determined by submissions and available developer time. New features may be completed and added at any time.

Basic new features in 5.0:

Packages of what will become Squid-5 source code are available at http://www.squid-cache.org/Versions/v5/

Security Advisories

See our Advisories list.

Open Bugs

Squid 4



The release timeline is now roughly monthly beta packages until the new features are considered finished and a period of two weeks occur without any new bugs being discovered in those features.

Additions are limited to:

  • Documentation updates
  • Polish of existing features
  • Porting of Squid-2.7 feature regressions
  • Stability fixes
  • Security fixes
  • Bug fixes
  • {X} This series of Squid requires a C++11 capable compiler. The currently known compilers which meet this criteria and build Squid-4 reliably are GCC 4.9+ and Clang 3.5+

Basic new features in 4.0:

  • Major UI changes:

    • RFC 6176 compliance (SSLv2 support removal)

    • Secure ICAP service connections
    • Add url_lfs_rewrite: a URL-rewriter based on local file existence
    • on_unsupported_protocol directive to allow Non-HTTP bypass

    • Removal of refresh_pattern ignore-auth and ignore-must-revalidate options

    • Remove cache_peer_domain directive

    • basic_msnt_multi_domain_auth: Superceeded by basic_smb_lm_auth
    • Update external_acl_type directive to take logformat codes in its format parameter

    • Removal of ESI custom parser
    • Experimental GnuTLS support for some TLS features
  • Minor UI changes:

    • 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
    • security_file_certgen helper supports memory-only mode
    • Adaptation support for Expect:100-continue in HTTP messages

    • Add url_rewrite_timeout directive

    • Update localnet ACL default definition for RFC 6890 compliance

    • Persistent connection timeouts request_start_timeout and pconn_lifetime

    • Per-rule refresh_pattern matching statistics in cachemgr report

    • Configurable helper queue size, with consistent defaults and better overflow handling
  • Developer Interest changes:

    • C++11
    • 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
    • Implemented selective debugs() output for unit tests
    • Improved SMP support

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/v4/RELEASENOTES.html#ss5.1

Packages of what will become Squid-4 source code are available at http://www.squid-cache.org/Versions/v4/

Security Advisories

See our Advisories list.

Open Bugs


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.

Bug Zapping

Features Under Development

Features currently being worked on have a Goal, an ETA, and a Developer is listed; but Status is not "completed":

Some feature work saying completed but still having an ETA:

Wish List

Wishlist consists of features which have been suggested or requested but do not yet have a Developer or any contributor listed as 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.

a Goal, an ETA, and a Developer is listed; but Status is not "completed":

Some beginner Tasks which anyone can help with.

Old Squid-2 wishlist:

  • Variant Invalidation

More ideas are available elsewhere.

RoadMap (last edited 2016-06-20 12:42:26 by AmosJeffries)