Varnish Broadcaster


Version 1.6.0 (2022-10-18)

  • Built with Go 1.19.2
  • New API endpoint /api/status/count (see API documentation)
  • New flag to configure the job purger (-job-purger <duration>) for removing finished async job requests.
  • The binary is now static and not longer dynamically linked.

Version 1.5.3 (2022-03-02)

  • Broadcaster built using Go 1.17.6.

Version 1.5.2 (2021-07-12)

  • Broadcast methods added to statistics API endpoint
  • Documentation updates for connection arguments in both argument help output and man-page.
  • proxy-port is now being used for the UI request URL port
  • proxy-proto is now working for the UI request URL
  • New request-proxy-host argument to specify a different host as the request URL from the UI.

Version 1.5.1 (2020-11-03)

  • During hot-reload some nodes can be removed. Under high load, statistics for such nodes will panic as they are no longer part of the configuration. This has now been fixed.

Version 1.5.0 (2020-10-20)

  • New mgmt-host option added for binding to different host on management interface. If not specified, same host specified with -host will be used.
  • New mgmt-on option added to enable/disable management interface. To disable the management interface completely, specify -mgmt-on=false.
  • Statistics endpoint added /api/v1/stats and /api/v1/stats/reset. Broadcast statistics in JSON format will be returned by calling the new statistics endpoint /api/v1/stats. The statistics can be reset with a call to /api/v1/stats/reset at any time (see examples).
  • Improved port validation for port arguments.

Version 1.4.1 (2020-08-31)

  • Fixes a rare timeout issue that could occur at high load

Version 1.4.0 (2020-08-10)

  • New flag -confwatch to handle automatic configuration reload.

Version 1.3.1 (2020-06-15)

  • Update -tls-verify auto (default mode) to handle local host headers

Version 1.3.0 (2020-06-08)

  • New X-Broadcast-Inorder header added (see usage)
  • New X-Broadcast-Skip header added (see usage)
  • Keep-alive applied for connections
  • TCP keep-alive probing 15sec instead of 2min
  • Improved lock handling to prevent some rare race conditions
  • New flag -verify-tls added to handle TLS verification (see usage)
  • Revision added to version output
  • Better request handling and improved performance
  • Fixes some errors that occurred during high load.
  • Web user interface now works with TLS enabled
  • Web user interface included in package
  • Systemd notify support
  • Jobs removed when running sync mode (default) which reduces memory usage

Version 1.2.4 (2020-02-18)

  • Fixes a rare race condition that could cause a panic while fetching status.
  • Improved error handling for host parsing
  • Versioning of management API added (/api/v1), /api/ still works and is the same as v1.
  • Updated man page to describe the -log argument correctly and added missing parameters.
  • Updated man page with header normalization information.
  • Systemd service file updated to create pid file at startup.
  • New header X-Broadcaster-Ua added to broadcasted requests containing broadcaster version (eg. Broadcaster/1.2.4)
  • New random broadcast functionality added (X-Broadcast-Random)
  • Limit of 10240 open files in systemd service file.

Version 1.2.3 (2019-10-22)

  • Let systemd help the broadcaster to write its pid
  • Handle IP with port in configuration file
  • Put back client connection into connection pool

Version 1.2.2 (2019-08-29)

  • Relax the group name parsing to allow dashes and underscores

Version 1.2.1 (2019-08-22)

  • Fixed goroutine leak in async mode
  • Added a configurable keep-alive
  • Added a configurable broadcast req timeout
  • Extended cors support
  • Write a pid file to report the pid of the running instance

Version 1.2.0 (2018-11-21)

Version 1.1.0 (2018-07-02)

  • Bundle a UI for web clients.
  • Minor improvements.

Version 1.0.0 (2018-03-12)

  • Initial release