Varnish 5.1.1

Varnish Cache is a web application accelerator also known as a caching HTTP reverse proxy. You install it in front of any server that speaks HTTP and configure it to cache the contents. Varnish Cache is really, really fast. It typically speeds up delivery with a factor of 300 - 1000x, depending on your architecture.

Tags cache http proxy
License BSDL-2
State mature

Recent Releases

5.1.118 Mar 2017 09:45 minor feature: Back to trunk. in H1 session cleanup. One more H1 session cleanup and a lot more asserts. Explain why 5.1.1 is necessary. Prepare for 5.1.1 final.
5.1.017 Mar 2017 17:25 minor feature: Dogfooding. try to stabilize this test. Revert "Document VRT_ipcmp wrt bumping VRT API version". Move "older version" VRT changes where they belong. Inaugurate ongoing VRT changes after 5.0. Use fd() throughout, take 2. Restore regression test for #2184. Restore missing newline (follow up to 497b076). Attempt a succinct explanation of test gunzip. Use fd() throughout, take 3. Introduce a ZERO_OBJ macro similar to bzero. Polish. add WS_Assert_Allocated: assert that ws- s f. Keep track of WS_Assert_Allocated. Make this test less sensitive to scheduling order. Allow user defined sub 's to return without specifing a handling. Reintroduce hit-for-pass with new and better syntax: Track VRT_hit_for_pass. Add a couple of (needless) asserts for Coveritys sake. Introduce a `vxid` LHS for VSL queries. s/VXID/vxid/. Use code litterals for the grouping modes. Document vxid VSL queries. Ignore HUB and PIPE signals before starting child. Typo. Rename t.vcl to bad.vcl. Test multiple -f options for varnishd. Test multiple -f options with a bad VCL. Test multiple -f options with an empty value. Move minimal reponses to the transport level and use them for H1 100/?. Send 100-continue after vcl_recv or when caching the request body. cases when we do not want to send a 100 Continue. Add std.late_100_continue to postpone sending a 100 Continue response. Plug leak. Give more room to slower platforms. Uneeded returns are unneeded. Also add more delay for the first varnishd. Add missing newline, move thread/errno info after backtrace. Point out upper-case characters, I'm sure this will be a common mistake. Forgot this part of last commit. Remove duplicated asserts. Ignore upper/lower case when comparing header names. Make a hole through H2 POST. Add a deoption to slow down acceptor threads so that we. Polish. Allow and ignore a leading '-' on cli commands. Implement varnishd -I . Add test case for -I cli_file. Use different workdirs to avoid old SHMfiles confusing varnishadm. Don't start va
4.1.5-beta210 Feb 2017 08:25 minor feature: Mention the join character. Allow INT and REAL to be negative. Increment fetch_failed for all causes. Insert space around '+' and '-' in generated C code. Update devicedetect.vcl to current upstream. beresp.backend.ip is only available while the connection is open. Document workuser and minor improvements. Update changelog. Repair formatting mistake. Prepare for 4.1.5-beta2 release.
4.1.5-beta104 Feb 2017 12:45 minor feature: Add an assert preventing buffer overflows. buffer overflow in HTC_RxInit on workspace exhaustion. Increase delay in r02035.vtc. Whitespace after colon is optional. Unbreak test from incomplete backport. Disable Nagle's algorithm on the backend as well. Limit VSL size to 4G-1b. race condition on HTTP1 session step counter. Correct number. Update changelog. Update changelog again. Revert "Limit VSL size to 4G-1b". Make 4.1 compile on !linux again. Document default timeout for varnishtest. Handle comparison between backend and different things. vsm_free (never incremented). Clarify r formatter wrt multiple Host headers. Change assert to proper error message and test it. Clarify description of fetch_failed counter. vmoddir when using --preat configure time. Update changelog. Prepare for 4.1.5-beta1 release.
4.1.402 Dec 2016 23:45 minor feature: Changelog entry for 1883. Remove temporary directory iff called with -C. Add changelog entry for #1869. Add changelog entry for #1918. Polish. Correct ParseError output. Method names should start with a period. Be more clear wrt function vs method. Add changelog entry for #1885. Add varnishncsa backend mode to changelog. Add #1912 to changelog. Backfill with forgotten changelog entries. Don't allow partial allocation of stevedore space for ESI. req- task members must be set in case we get onto the waitinglist. Add #1928 to changelog. Truncate output if it's wider than 12 chars. Add #1855 to the changelog. Don't emit multiple Age or Accept-Ranges headers. Add #1955 to the changelog. Add 1806 to changelog. check for overrun before looking at the next vsm record. Add 1873 to changelog. Add #1847 (https_scheme) properly to changelog. Correctly handle HTTP/1.1 EOF response. missing Wait_HeapDelete. Current SmartOS also has epoll(), so we need to prefer ports. Remove implicit line feed when using formatfile. Add support for TCP Fast Open extension. Allow VCL set Last-Modified to be used for I-M-S processing. Bring changelog up to speed. Backfill more changelog entries. Make it more easily readable on Github. Update copyright. Clarified the documentation on vsm_overflow ed . Invert desc/explanation in varnish-counters.7. Update instructions on port change with systemd. Add an "expect_pattern" verb, which expects a "01234567012345...". Update to 4.1 vtc syntax. Add missing call to VSL_Match. Spelling. Introduce barriers in varnishtest. Barriers can be cyclic but not like semaphores. Barriers can only be created on the top thread. Implement socket barriers (shared between processes). Teach vmod-dehow to sync with varnishtest. the socket. Add vtc barriers to changelog. Enable make clean target in man/. Use the proper VSL record. Method names should start with a period. minor leak spotted by Coverity Scan. Turn false-positive INCOMPL macros into WRONG ones. varnishtest barrier
4.0.402 Dec 2016 06:25 minor feature: Remove duplicated line. reference. Start ignoring lower case ctags file. clarify that we will not see piped connections ever again. Harden vtcp_sa_to_ascii. Bail out on workspace exhaustion in VRT_IP_string. Delay allocating log line data until it's known to be needed in varni?. Keep two trees in varnishtop, one for order and one for uniqueness. remove some unused declarations. add VCL_BYTES for vmods. Oops, forgot this bit of previous commit. Try again to make server.hostname and server.identity available. add std.strstr. Nitpicks. Use a bigger buffer for the stdout/stderr to avoid annoying. Revert "Tweak size-sensitive test case for 32bit systems". Don't mix const and non-const pointers. This should make jenkins happ?. If workspace_thread is not be big enough to hold all the objcore poin?. Ensure that we never call a VDP with a zero length unless we are done. Make a dedicated cleanup function for req- vary_? to match the. Prepare for 4.0.2-rc1 release. Prevent a segfault on varnish reconnect in the varnishstat hitrate. Add list of changes. Remove incorrect changelog entry. Update copyright statement. Unhide vcl.show from 'help' output, it was hidden due to overzealous. varnishlog -k argument. Prepare 4.0.2. Add forgotten to list. Only override CFLAGS on RHEL6. a cornercase related to empty pass objects. Check for multiple Content-Length headers. Make it possible to receive resphdrs and respbody separately. a couple of for the detached rx*body functions. Add a defacility to force a WRW_Flush after the headers. Don't needlessly throw away Content-Length from backend, but assume. Delay HSH_Complete() until the storage sanity functions has finished. Document -v param in vcl.show. Document how comments work in VCL. Spelling. document bereq.uncacheable and beresp.uncacheable. document keep. document some more object variables. make bereq.uncacheable read-only outside backend_fetch. Include the Varnish version on panic. vcl_pass might return fetch, not pass. Skip the arg
4.1.4-beta326 Nov 2016 07:25 minor feature: ban lurker: the olist can be empty when all bans got dup'ed. Zero overflow VSM allocations. Correctly handle EOF responses with HTTP/1.1. Only accept C identifiers as acls. Changelog entry for 1883. Remove temporary directory iff called with -C. Add changelog entry for #1869. Add changelog entry for #1918. Polish. Correct ParseError output. Method names should start with a period. Be more clear wrt function vs method. Add changelog entry for #1885. Add varnishncsa backend mode to changelog. Add #1912 to changelog. Backfill with forgotten changelog entries. Don't allow partial allocation of stevedore space for ESI. req- task members must be set in case we get onto the waitinglist. Add #1928 to changelog. Truncate output if it's wider than 12 chars. Add #1855 to the changelog. Don't emit multiple Age or Accept-Ranges headers. Add #1955 to the changelog. Add 1806 to changelog. check for overrun before looking at the next vsm record. Add 1873 to changelog. Add #1847 (https_scheme) properly to changelog. Correctly handle HTTP/1.1 EOF response. missing Wait_HeapDelete. Current SmartOS also has epoll(), so we need to prefer ports. Remove implicit line feed when using formatfile. Add support for TCP Fast Open extension. Allow VCL set Last-Modified to be used for I-M-S processing. Bring changelog up to speed. Backfill more changelog entries. Make it more easily readable on Github. Update copyright. Clarified the documentation on vsm_overflow ed . Invert desc/explanation in varnish-counters.7. Update instructions on port change with systemd. Add an "expect_pattern" verb, which expects a "01234567012345...". Update to 4.1 vtc syntax. Add missing call to VSL_Match. Spelling. Introduce barriers in varnishtest. Barriers can be cyclic but not like semaphores. Barriers can only be created on the top thread. Implement socket barriers (shared between processes). Teach vmod-dehow to sync with varnishtest. the socket. Add vtc barriers to changelog. Enable make clean target in man/. Use
4.0.4-beta125 Oct 2016 23:45 minor feature: Update references to vcl_error. Spelling. Remove duplicated line. reference. Start ignoring lower case ctags file. clarify that we will not see piped connections ever again. Harden vtcp_sa_to_ascii. Bail out on workspace exhaustion in VRT_IP_string. Delay allocating log line data until it's known to be needed in varni?. Keep two trees in varnishtop, one for order and one for uniqueness. remove some unused declarations. add VCL_BYTES for vmods. Oops, forgot this bit of previous commit. Try again to make server.hostname and server.identity available. add std.strstr. Nitpicks. Use a bigger buffer for the stdout/stderr to avoid annoying. Revert "Tweak size-sensitive test case for 32bit systems". Don't mix const and non-const pointers. This should make jenkins happ?. If workspace_thread is not be big enough to hold all the objcore poin?. Ensure that we never call a VDP with a zero length unless we are done. Make a dedicated cleanup function for req- vary_? to match the. Prepare for 4.0.2-rc1 release. Prevent a segfault on varnish reconnect in the varnishstat hitrate. Add list of changes. Remove incorrect changelog entry. Update copyright statement. Unhide vcl.show from 'help' output, it was hidden due to overzealous. varnishlog -k argument. Prepare 4.0.2. Add forgotten to list. Only override CFLAGS on RHEL6. a cornercase related to empty pass objects. Check for multiple Content-Length headers. Make it possible to receive resphdrs and respbody separately. a couple of for the detached rx*body functions. Add a defacility to force a WRW_Flush after the headers. Don't needlessly throw away Content-Length from backend, but assume. Delay HSH_Complete() until the storage sanity functions has finished. Document -v param in vcl.show. Document how comments work in VCL. Spelling. document bereq.uncacheable and beresp.uncacheable. document keep. document some more object variables. make bereq.uncacheable read-only outside backend_fetch. Include the Varnish version on panic. vcl_pass
4.1.4-beta214 Oct 2016 04:05 minor feature: Add an entry to the changelog. Stop cleaning the svg files. a ESI+gzip corner case which had escaped notice until now. Add missing description. Update changelog. Revive the backend_conn counter. Sync changelog. Maintain `-d` behaviour when log is overrun and reacquired. Release memory instead of crashing on malformed ESI. Add simple error checking in ESI processing. Add a SLT_BackendStart log tag, and log address and port on backend req. Backend mode in varnishncsa. (insignificant) memory leak with mal-formed ESI directives. Extended formatters in varnishncsa. New format of VSL formatter in varnishncsa. Tiny doc for varnishncsa. Postpone calling VBT_wait until after V1P_Process. ban lurker: the olist can be empty when all bans got dup'ed. Zero overflow VSM allocations. Correctly handle EOF responses with HTTP/1.1. Only accept C identifiers as acls. Changelog entry for 1883. Remove temporary directory iff called with -C. Add changelog entry for #1869. Add changelog entry for #1918. Polish. Correct ParseError output. Method names should start with a period. Be more clear wrt function vs method. Add changelog entry for #1885. Add varnishncsa backend mode to changelog. Add #1912 to changelog. Backfill with forgotten changelog entries. Don't allow partial allocation of stevedore space for ESI. req- task members must be set in case we get onto the waitinglist. Add #1928 to changelog. Truncate output if it's wider than 12 chars. Add #1855 to the changelog. Don't emit multiple Age or Accept-Ranges headers. Add #1955 to the changelog. Add 1806 to changelog. check for overrun before looking at the next vsm record. Add 1873 to changelog. Add #1847 (https_scheme) properly to changelog. Correctly handle HTTP/1.1 EOF response. missing Wait_HeapDelete. Current SmartOS also has epoll(), so we need to prefer ports. Remove implicit line feed when using formatfile. Add support for TCP Fast Open extension. Allow VCL set Last-Modified to be used for I-M-S processing. Bring changelog up
5.0.017 Sep 2016 20:39 major feature: Documentation updates, especially the what's new and upgrade sections. Via: header made by Varnish now says 5.0. VMOD VRT ABI level increased. vcl obj.(ttl age grace keep) is now readable in vcl_deliver. Latest devicedetect.vcl imported from upstream. New system wide VCL directory: /usr/share/varnish/vcl/ std.integer() can now convert from REAL. Issues fixed: 2086 - Ignore H2 upgrades if the feature is not enabled. 2054 - Introduce new macros for out-of-tree VMODs 2022 - varnishstat -1 -f field inclusion glob doesn't allow VBE backend fields 2008 - Panic: Assert error in VBE_Delete() 1800 - PRIV_TASK in vcl_init/fini