Download Latest Version skipper-v0.27.78-windows-amd64.zip (155.7 MB)
Email in envelope

Get an email when there's a new version of Skipper

Home / v0.27.77
Name Modified Size InfoDownloads / Week
Parent folder
skipper-v0.27.77-windows-amd64.zip 2026-08-25 155.7 MB
skipper-v0.27.77-linux-armv7.tar.gz 2026-08-25 142.6 MB
skipper-v0.27.77-linux-arm64.tar.gz 2026-08-25 141.6 MB
skipper-v0.27.77-linux-amd64.tar.gz 2026-08-25 154.3 MB
skipper-v0.27.77-darwin-arm64.tar.gz 2026-08-25 152.2 MB
sha256sum.txt 2026-08-25 613 Bytes
skipper-v0.27.77-darwin-amd64.tar.gz 2026-08-25 161.5 MB
README.md 2026-08-25 1.6 kB
v0.27.77 source code.tar.gz 2026-08-25 5.2 MB
v0.27.77 source code.zip 2026-08-25 6.1 MB
Totals: 10 Items   919.2 MB 1

Changes

fix: deduplicate fifoWithBody and lifoWithBody in the route preprocessor (#4217)

Registry.Do keys the queue by route id, so fifo() and fifoWithBody() on the same route share one queue, same for lifo() and lifoWithBody(). The preprocessor drops all but the last instance to avoid that, but it only counted filters.FifoName and filters.LifoName, so the WithBody variants were never removed. Both then call Wait() on the same queue and one request takes two slots.

A single request to an idle proxy rejects itself:

:::bash
./bin/skipper -inline-routes='r: * -> fifoWithBody(1, 0, "1s") -> fifoWithBody(1, 0, "1s") -> "http://127.0.0.1:9001"'

curl -s -o /dev/null -w '%{http_code}\n' localhost:9090
503

lifoWithBody twice blocks for the timeout and gives 502, and fifo() followed by fifoWithBody() gives 503 too. With fifo() twice it's 200, since that pair already gets deduplicated.

Counting per queue family instead of per filter name. lifoGroup() stays out of it, that one is keyed by group name.

How to test

go test ./scheduler/... ./filters/scheduler/...

Four cases added to TestRegistryPreProcessor. On master:

--- FAIL: TestRegistryPreProcessor/two_fifoWithBody
--- FAIL: TestRegistryPreProcessor/two_lifoWithBody
--- FAIL: TestRegistryPreProcessor/fifo_and_fifoWithBody_share_a_queue
--- FAIL: TestRegistryPreProcessor/lifo_and_lifoWithBody_share_a_queue

ref [#4188]

Multiarch Docker image

Multiarch Docker image is available in GitHub's docker registry:

docker run -it ghcr.io/zalando/skipper:v0.27.77 skipper --help
Source: README.md, updated 2026-08-25