All Versions
11
Latest Version
Avg Release Cycle
150 days
Latest Release
1586 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v1.2.0 Changes
September 17, 2020- Engine CPU consumption reduced by 60%
- π§ Implemented M'mapped AF_PACKET for Linux. To enable set
--input-raw-engine af_packet
. #807 - β Added Kafka TLS configuration flag #800
- π Fix wrong param value updated while
--http-set-param
#791 - π° The engine can now capture more requests with large payload #797
- π¦ Created TCP package #97
- π Fixed minor bugs in HTTP proto parser
-
v1.1.0 Changes
July 04, 2020- π Fix usage of multiple
--input-raw
plugins, e.g.--input-raw :80 --input-raw :81 --input-raw :82
#700 - π Allow to set byte size limits in human friedly format:
--output-file-size-limit
,--output-file-max-size-limit
,--copy-buffer-size
and--input-raw-buffer-size
can now parse inputs from differents bases and data units like: 10mb, 10kb, 100gb, 18t #754 - π Fix calculation of the output file size when using gzip compression #777
- β Added
--output-tcp-sticky
so request/response with same ID sent to the same connection. - π Better handling of malformed middleware output #737
- π Fixed race when reading or writing using files #756 #764
- π Improved errors verbosity #703
- π Updated dependencies, including libpcap which should bring more stability and performance
- π Move to Go modules
- π PRO code moved to the main repository under separate license
- π Fix usage of multiple
-
v1.0.0 Changes
March 30, 2019π Long awaited major release of GoReplay!
- β Added option to specify custom BPF filter (e.g. tcpdump syntax). Can be useful in case of non standard network interfaces like tunneling or SPAN port. Example:
--input-raw-bpf-filter 'dst port 80β
#478 - Support for reading directly from pcap file, using
--input-raw-engine pcap_file --input-raw ./recording.pcap
_ - β Added official Docker image
docker pull buger/goreplay
. Should be run with--network host
argument. - β Added RPM and DEB packages
- β Added support for HTTP proxies. Just set
HTTP_PROXY
env variable. - β Added HTTP basic auth filter:
--http-basic-auth-filter "^customer[0-9].*
. You specify regexp which matchuserid:passwd
string. [https://github.com/[/pull/475](https://github.com/buger/goreplay/pull/475)] - β Added option to limit size of output file: when limit is reached, it will exit. Can be used for safety reasons. Example:
--output-file-max-size-limit 5gb
. - β Added way to configure output HTTO request queue, which used to hold requests, if all workers are busy. Example:
--output-http-queue-len 5000
. Default is 1000. - Control frequency of
--output-http-stats
reports using--output-http-stats-ms
option. Example:--output-http-stats-ms 5000
(every 5 seconds). - π§ Configurable way to set minimum number of HTTP workers, by setting
--output-http-workers-min
. Can be used in conjunction with--output-http-workers
which will act as a max worker count. - β Added way to dynamically profile GoReplay performance using Golang pprof tools. Example:
--http-pprof :8181
. It starts web server on given address, and expose special/debug/pprof
endpoint with list of reports. - β Added
βinput-raw-buffer-size
which controls size of the OS buffer (in
0οΈβ£ bytes) which holds packets until they dispatched. Default value depends
π§ by system: in Linux around 2MB. If you see big package drop, increase
this value. - In addition to buffer size, added option to turn pcap
immediate
mode when packets delivered without buffering. Can help reduce packet drop. Example:--input-raw-immediate-mode
. - β Added way to use standard Golang HTTP client, by adding
--output-http-compatibility-mode
- Snaplen (max number of bytes being read for each packet)
now dynamically set based on interface MTU + max header size. In most
π¦ situations it should reduce package drop, because each packet will
consume less space in the buffer. However in some virtualized environments like OpenShift, packet size can be significantly bigger then MTU, so you can disable optimization by setting--input-raw-override-snaplen
. - β Added support for ElasticSearch basic HTTP auth
- π Numerous fixes to improve quality of HTTP packets parsing
- β Added option to specify custom BPF filter (e.g. tcpdump syntax). Can be useful in case of non standard network interfaces like tunneling or SPAN port. Example:
-
v1.0-rc2 Changes
February 23, 2019- β Added support for HTTP proxies. Just set HTTP_PROXY env variable.
-
v0.16.1 Changes
June 30, 2017- β Add support for TLS connections between --input-tcp and --output-tcp.
--input-tcp-secure --input-tcp-certificate ./cert.pem --input-tcp-certificate-key ./key.pem --output-tcp-secure
#457 - β Add basic support for old server, like HTTP 0.9 #468 #463 #467
- GoReplay now exit once finished replaying with --input-file #456
- π Fix prettifier issue, when there is problems with gzip encoding payload #470
- β Add support for TLS connections between --input-tcp and --output-tcp.
-
v0.16.0
May 01, 2017 -
v0.16.0.2 Changes
May 01, 2017π Finally a new big release, a lot of changes on all fronts. New features, usability stability, fixes.
Thank you, everyone, who made it happen!
It would not be possible without this people @smostovoy @exklamationmark @manjeshnilange @kudos @oivoodoo @sattvik @ylegat @nrwiersma @SophisticaSean
π CHANGELOG
Major
- [PRO] Added S3 input and output https://github.com/buger/goreplay/wiki/%5BPRO%5D-Using-S3-for-storing-and-replaying-traffic
- β Added new NodeJS middleware framework https://github.com/buger/goreplay/tree/master/middleware
- β Add Kafka input and output https://github.com/buger/goreplay/wiki/Streaming-from-and-to-Apache-Kafka
- π Improve accuracy of replay by using timestamp of when TCP packet was received by network interface (previously used time of package capture by GoReplay)
- Using
βprettify-http
option, you can automatically decode Gzip encoded responses, and de-construct chunked bodies. - Now you can enable HTTP response tracking by providing
βoutput-http-track-respose
. Previously was available only if middleware is turned on.
Minor
- β Add new option
--input-raw-expire
to configure TCP message expiration - Filter response if its request was filtered
- π Allow space inside filters syntax: `--http-disallow-header 'Host: www.vertaa.fi' now valid syntax
- π° File name pattern now support request id
%r
, will log each request to separate file, and%t
for payload type (0 - request, 1 - response, 2 - replayed response). - β Add basic SNI support to support HTTP replay to hosts that require SNI, such as Amazon API Gateway.
API Gateway) - π Fix
--output-file-size-limit
option - Do not add port to Host header #383
- π Improve malformed TCP packet handling to avoid panics
- π Fix HTTP timeout for 204 (No content) responses
- π Fix handling of HTTP error codes like 400 or 304.
- π Fixed replay of HTTP PATCH requests
-
v0.16.0.1
May 01, 2017 -
v0.15.1 Changes
August 31, 2016 -
v0.15.1-beta1 Changes
August 23, 2016- π¦ Gopacket package now vendored same as the rest of 3-rd party dependencies