Varnish 4.1.7

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

4.1.729 Jun 2017 03:25 minor feature: Ignore missing reason in probe responses. typo in lib/libvarnish/vtim.c. Adapt r02069.vtc to 4.1. Only root can jail. Corrected grammar for install.rst. If pipe'ing, unset any existing Connection headers. Polish. Further cleanup. Rework the shell command, so that expected exit code and pattern to. Add regexp matching support to the shell command. Shuffle things around in prep for upcoming work. Add record-presupport to varnishncsa. Polish. More cleanup. Polish. More cleanup. add WS_Assert_Allocated: assert that ws- s f. an off-by-one error in WS_Assert_Allocated(). Make param::nuke_limit a total count of nukes allowed for each. Add 1764 to the changelog. Switch to globbing on the whole string. Ident and type are optional. Rework -f option. Add 2320 to the changelog. Allow newlines in long strings to sendhex. Remember to reset the workspace. add 2219 to changelog. Document varnish. Add -stop doc, and be more detailed. Add a vsl_catchup varnishtest function. Make -vsl_catchup bail on test-failure or child death. Update changelog. Prepare for 4.1.7-beta1 release. Prevent storage backends name collisions. the std.getenv example. Add extra locking to protect the pools list and refcounts. Don't panic on a null ban. Update changelog. Prepare for 4.1.7 release.
4.1.627 Apr 2017 08:45 minor feature: Remove ancient outdated comment. Add another new output formatter. typo. Minor. distcheck on FreeBSD and possible other BSDs. Add a bunch of protective asserts on vcl- conf, to help flush out. Insist that tests start out with the magic string "varnishtest :white?. Remove initial line feed. Remove superflous calls to WS_Assert(). Mostly whitespace OCD. dont panic on pthread_cond_timedwait being interrupted. document the default probe. allow whitespace and comments before the varnishtest marker. Revert "Remove initial line feed.". document what the default backend is. Remove unneeded checks. Add a VSL variant that takes uses stdarg(3). Make std.log() work from vcl_ init,fini . Make std.syslog() work from vcl_ init,fini . Add #1924 to changelog. invalidate the cli_fd of dead varnishds. Save the VCL syntax version, we will need it later on. Clarify the help text for d_opt/-d. Eliminate a NULL pointer with empty (apart from comments and. Log an error if we fail to get storage. Minor OCD here and there. Correct instructions to disable THP permanently. Adopt to 4.1. Improve output on PRIV_TASK/TOP in init/fini. Implement atomic creation of output files. Output to the correct file name. Create the temporary files in the same dir. At least one platform has a backtrace(3) which returns -1 in a size_t?. Make the santity check of backtrace(3) returns even more robust. This shows why having both BE and LE test-boxes is important. With FreeBSD 10.3 on a BeagleBone PCRE JIT explodes in the pcre_study(). Check pcre_study() is working in configure. Simplify r01941.vtc a bit. comment. Add -h and use different exit status. Exit with 0 if -h was used. Correct parameter name. Finally some instructions for building on SmartOS (for a start). typo. Add forgotten link. In probes treat a poll timeout as a recv error. Dump more VCL info in panic, and add a general macro for checking. Teach VSB_quote() to hexdump. All zero bits will be elided to "0x0...0". Only... hexdumps if they are longer t
5.1.209 Apr 2017 02:45 minor feature: This assert will not hold in all error situations. Add a H1 testcase which exercises the single like of code which. Allow EPIPE in VTCP_Check(). Add a xport- req_fail() for H2. sync VRB_Ignore() comment with reality. Add panic function for vrt vmod _privs. Also release the req0. Move a bunch of SES_ functions to cache_transport.h, they are not. to and better test-coverage of exception paths in H2 upgrade. Generalize HPACK length encoding. Add a couple of commits to try to catch #2257. I want to find this vtc when grepping for waitinglist. Do all of the vfc setup and init in one place and only when needed. If the client workspace is almost, but not quite exhaused, we may. FlexeLinting: Avoid cpp macro argument names inside strings. Flexelinting: initialize variable flexelint cannot see through. Add parenthesis to clearify code. Do not update mgt's mirrored VCL temp state on child temp state failures. Log VSM/VSL errors in varnishtest. Add a vsl_catchup varnishtest function. Tune for 32 bit machines also. Merge branch 'master' of github.com:varnishcache/varnish-cache. Negative SIZE to de.workspace_allocate() now means. Add testcase for #2275. Don't append newline for varnishtest -p. Use the new "allocate all but" de.workspace_allocate() feature. Change/simplify the V1L logic for chunked encoding. Put a priority block in a HEADERS frame. Make -vsl_catchup bail on test-failure or child death. Try to push H2 into even weirder corners. Handle RST_STREAM on completed streams. Give this test 8 bytes more to succeed in. Avoid sign-extension in hexdump. A LOT more H2 plumbing. How to report signal panics. Slightly more coverage. Whitespace OCD. attempt to get more helpful reports. no deinfo packages on packagecloud.io. Support multi-lib systems for out-of-tree builds. Log the remote address to make it easier to cross-ref to VSL. When the client abandons a fetch we the connection to the. Check backend existence when reading proxy_header. It is more robust to wait for the clie
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.510 Feb 2017 17:05 minor feature: Prepare for 4.1.5 release.
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