2009-11-09 Varnish 2.0.5 released

Varnish 2.0.5 has just been released. This release contains multiple changes, amongst them:

  • Performance improvements, particularly on Linux.
  • Implement support for HTTP continuation lines
  • Handle illegal responses from the backend better by serving a 503 page rather than panic-ing
  • Add backtrace to assertion errors. This requires Varnish to be installed unstripped
  • Consume less memory when processing ESI
  • Better standards compliance with If-None-Match support and emitting more headers on 304 responses
  • Add a FetchError? log tag which makes it easier to understand why a backend fetch failed.

2009-04-01 Varnish 2.0.4 released

Varnish 2.0.4 has just been released. This release contains multiple changes, amongst them:

  • Serve graced objects if the backend is unhealthy.
  • Portability fixes for Solaris, MacOS X/Darwin and NetBSD
  • Documentation updates
  • Added server.hostname and server.identity to VCL.
  • Fixed a problem where we would sleep for far too long when we would run out of file descriptors.
  • Add support for processing binary objects with ESI.

2009-02-12 Varnish 2.0.3 released

Varnish 2.0.3 has just been released. This release contains multiple changes, amongst them:

  • Support for backend timeouts
  • Multiple fixes in how we process ESI
  • restart in vcl_hit is now supported
  • Documentation has been updated
  • Expiry processing is now more scalable
  • The default session workspace is now 16k instead of 8k
  • More graceful handling of too many headers from the client or the server.
  • More expressive purges

2008-11-14 Varnish 2.0.2 released

Varnish 2.0.2 has now been released and contains the following changes:

  • Fix possible ESI crash
  • Increase stack size for varnishreplay, makes it work on Linux
  • Fix random director to actually work properly
  • Make it possible to remove duplicate purges.
  • Add man page for varnishtest
  • Make resp.status work correctly in VCL

2008-10-17 Varnish 2.0.1 released

This release contains a fix for a denial of service vulnerability in which Varnish could crash when receiving a malformed HTTP request.

2008-10-15 Varnish 2.0 released

The Varnish development team is proud to announce the release of Varnish 2.0. This is the first release of the 2.x series. It can be downloaded from  https://sourceforge.net/project/showfiles.php?group_id=155816

Key features:

  • ESI include support
  • Round-robin and random backend load balancers
  • Backend health check
  • Serve expired objects, until we have a fresh one
  • OpenSolaris? support
  • Much improved malloc backend, particularly on Linux
  • Lots and lots of bug fixes

Known issues:

  • Varnishreplay does not work on Linux

All users of Varnish are encouraged to upgrade to this new version, it is substantially more stable, has more features and better performance. Please report any bugs in trac, at  http://varnish.projects.linpro.no/newticket For a full list of changes, please see the changelog available at  https://sourceforge.net/project/shownotes.php?group_id=155816&release_id=633519

2008-10-08 Release candidate 1

We are happy to announce Varnish 2.0 Release Candidate 1, and are aiming for a 2.0 release in one week, on October 15th.

The release candidate can be downloaded from  https://sourceforge.net/project/showfiles.php?group_id=155816

Since beta 2, most of the changes have been minor. Some highlights are:

  • Correctness fixes for ESI
  • Better MacOS X support
  • Documentation fixes
  • Handle out-of-resource situations better by sleeping a little bit if we run out of file descriptors.

 Get it from Sourceforge!

2008-09-24 Beta 2 released

Hopefully the last beta before entering release candidate mode..  Get it from Sourceforge!

And, of course, please remember to report your issues  here :-)

In Other News

Linpro have made some changes to the Varnish team, and it now consists of:

WhoRoleResponsibilities
Poul Henning KampSystem/Lead architect, Visionary in ChiefHead developer and designer, code-hygienist and overall oracle
Dag Erling SmørgravSenior DeveloperSenior developer
Petter Knudsen DeveloperBug Master and Code Monkey, dividing his time between Varnish and MultiFrame
Cirstyn Bech-YagherProject ManagerCoordinates and plans technical/development efforts, reports to product owners, assists with commercial effort as needed, non-code JOAT, buffers tech vs commercial
Tollef Fog HeenProduct OwnerCoordinates Linpro's commercial effort, release manager, build master, tech-JOAT

We're all working as hard as we can towards a 2.0 release, and we're getting there. However, as we're afraid of jinxing our internal schedule, we're hesitant to say anything other than sometime this fall :-)

2008-08-29 Feature complete Varnish 2.0 Beta 1 ready for download

As we're getting closer to a full release, we thought you'd like to take Beta 1 for a spin in the meantime - Go grab it here! :-)

And, of course, please remember to report your issues  here :-)

2008-08-26 Varnish 2.0 is feature complete

With the completion of director response to backend health pollint, varnish is now feature complete for release 2.0.

Details on how to configure use our latest feature: Backend Health Polling Explained

2008-08-20 Solaris 10+ works

Theo Schlossnagle reports: "Trunk past r3113 compiles out of the box on Solaris 10+ and passes all the varnishtests."

2008-08-15: Varnish 2.0 Tech Preview Now Available!

 Grab it here!

We have a bunch of new features we've implemented since 1.1.2, and we'd love you to check out, among others:

  • ESI - Supporting only the sensible subset
  • Saves objects past expiration date («grace»)
  • Multiple storage file support
  • URL-rewrites
  • PURGE-support based on regular expressions also over HTTP
  • Backend selection and load distribution
  • Directors can select by any metric they prefer
  • Incomplete support for 64k long shmlog records - planned finalised in v 2.0 Final
  • Restarts, allowing you to try the transaction again if you don't like where you ended up.
  • Race condition in kqueue acceptor fixed
  • The hash string is now built by VCL, which means people can customize it
    • We have both "purge_hash" and "purge_url" as a result
    • The former allowing purges per vhost for instance.
  • New and less jumpy thread pool sizing algorithm
  • Swallow request body where necessary
  • Handle PUT/POST with pass
  • Better TCP shutdown in pipe mode
  • Garbage collection of purge entries
  • Spelled 'Authorization' correctly instead of 'Authentication' in default VCL
  • Added parameter tuneability - remember to be careful when trying them out!

As this is not a final release, we also have some known issues:

  • There is a race-condition during start-up, causing pages with a certain amount of traffic needing several tries to start. This is easy to spot if you keep an eye on varnishstat and see it receive requests, but not sending any to the clients
  • There's a known crash error we've found during testing on Finn.no, and it seemingly occurs once a week: The Varnish Supervisor-process restarts the cache, but the cache content usually disappears.
  • An error caused the sourcecode in the download link to not include all the tests you can run with varnishtest. The missing tests can be grabbed from  SVN
  • If the client sends a Connection: header and the VCL code deletes one or more HTTP headers, the wrong set of headers may be sent to the backend.

Please take the TP for a testdrive, and let us know what you think, and please remember to report your issues  here :-)

Old News

2007-12-20: Varnish 1.1.2 has been released.

2007-10-25: ESI:include support is on the way into -trunk now.

2007-08-20: Varnish 1.1.1 has been released.

2007-07-20: Varnish 1.1 has been released.