Squid 4

Jul 2018

Released for production use.

The features have been set and large code changes are reserved for later versions.

  • Additions are limited to:
  • Security fixes
  • Stability fixes
  • Bug fixes
  • Documentation updates
  • {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 version 4:

  • 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

Squid-4 (last edited 2018-07-02 05:41:39 by AmosJeffries)