---
name: Shopify/toxiproxy
slug: shopify-toxiproxy
type: github
source_url: https://github.com/Shopify/toxiproxy
organization: Shopify
organization_slug: Shopify
total_releases: 32
latest_version: v2.12.0
latest_date: 2025-03-18
tracking_since: 2015-01-07
canonical: https://releases.sh/Shopify/shopify-toxiproxy
organization_url: https://releases.sh/Shopify
---

<Release version="v2.12.0" date="March 18, 2025" published="2025-03-18T13:12:45.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.12.0">
- Update go version to 1.23.0 (#628)
- Do not restart proxies when using hostnames to specify listen address when updating a proxy
  and populating a collection (#631, @robinbrandt)
- Update various go packages


</Release>

<Release version="v2.11.0" date="October 16, 2024" published="2024-10-16T19:26:12.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.11.0">
- Do not pin minimum patch version in module (#595, @jaimem88)


</Release>

<Release version="v2.10.0" date="October 8, 2024" published="2024-10-08T17:50:37.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.10.0">
- Update various go packages
- Update go version to 1.22.8 (#594, @abecevello)


</Release>

<Release version="v2.9.0" date="March 12, 2024" published="2024-03-12T18:35:45.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.9.0">
- Updated go version to 1.22.1 to fix 3 CVEs (#559, @dianadevasia)
- Updated the version of golangci to 1.56.2 and disabled depguard rule in golangci (#559, @dianadevasia)


</Release>

<Release version="v2.8.0" date="February 27, 2024" published="2024-02-27T20:31:13.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.8.0">
* toxiproxy-cli - sortedAttributes sort by attribute.key instead attribute.value (#543, @jesseward)


</Release>

<Release version="v2.7.0" date="October 25, 2023" published="2023-10-25T15:03:55.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.7.0">
* Fix invalid JSON in /version endpoint response (#538, @whatyouhide)
* Update minimum supported Go version 1.19. (@abecevello)


</Release>

<Release version="v2.6.0" date="August 22, 2023" published="2023-08-22T16:02:08.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.6.0">
* Gracefull shutdown of HTTP server. (#439, @miry)
* Support PATCH HTTP method for Proxy update(`PATCH /proxies/{proxy}`) and
  Toxic update(`PATCH /proxies/{proxy}/toxics/{toxic}`) endpoints.
  Deprecat POST HTTP method for those endpoints. (@miry)
* Client does not parse response body in case of errors for Populate.
  Requires to get current proxies with new command. (#441, @miry)
* Client specifies `User-Agent` HTTP header for all requests as
  "toxiproxy-cli/<version> <os>/<runtime>".
  Specifies client request content type as `application/json`. (#441, @miry)
* Replace Api.Listen parameters `host` and `port` with single `addr`. (#445, @miry)


</Release>

<Release version="v2.5.0" date="September 10, 2022" published="2022-09-10T12:10:32.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.5.0">
## Changes
* Update Release steps. (#369, @neufeldtech)
* Migrate off probot-CLA to new GitHub Action. (#405, @cursedcoder)
* Support go 1.18, 1.19. (#415, @miry)
* `toxiproxy.NewProxy` now accepts `name`, `listen addr` and `upstream addr`. (#418, @miry)
* Replace logrus with zerolog. (#413, @miry)
* Log HTTP requests to API server. (#413, #421, @miry)
* Add TimeoutHandler for the HTTP API server. (#420, @miry)
* Set Write and Read timeouts for HTTP API server connections. (#423, @miry)
* Show unique request id in API HTTP response. (#425, @miry)
* Add method to parse `stream.Direction` from a string.
  Allow converting `stream.Direction` to string. (#430, @miry)
* Add the possibility to write to Output with a deadline.
  On interrupting Bandwidth toxic, use non-blocking writes. (#436, @miry)
* Update minimum supported Go version 1.17. (#438, @miry)

## New Contributors
* @waseem made their first contribution in https://github.com/Shopify/toxiproxy/pull/402
* @cursedcoder made their first contribution in https://github.com/Shopify/toxiproxy/pull/405

**Full Changelog**: https://github.com/Shopify/toxiproxy/compare/v2.4.0...v2.5.0

## Docker images

- `docker pull ghcr.io/shopify/toxiproxy:2.5.0`

## Homebrew

- `brew install shopify/shopify/toxiproxy`
</Release>

<Release version="v2.4.0" date="March 7, 2022" published="2022-03-07T16:23:51.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.4.0">
* Verify git tag on release (#347, @miry)
* Fix MacOS 12 tests for go17 with -race flag (#351, @strech)
* Rename `testing/` and `bin/` folders (#354, @strech)
* Added verbose error on proxy upstream dialing (#355, @f-dg)
* Improve server startup message (#358, @areveny)
* Introduce yaml linter. (#362, @miry)
* Handle slicer toxic with zero `SizeVariation` and fix slicing randomization (#359, @areveny)
* Added /metrics endpoint for exposing Prometheus-compatible internal metrics (#366, @neufeldtech)


## Docker images

- `docker pull ghcr.io/shopify/toxiproxy:2.4.0`

</Release>

<Release version="v2.3.0" date="December 23, 2021" published="2021-12-23T12:22:50.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.3.0">
* Store all the executable `main` packages in `cmd` folder. (#335, @miry)
* Extract common test helpers to own files. (#336, @miry)
* Client: Allow HTTPS endpoints. (#338, @chen-anders)
* client.Populate assign client to proxy. (#291, @hellodudu)
* fix: The release-test task is always success.
  add: Allow to run release-test on arm machines. (#340, @miry)
* Upgrade `goreleaser`. Support `armv7` and `armv6` oses. (#339, @mitchellrj)
* Allow to change log level for server. (#346, @miry)


## Docker images

- `docker pull ghcr.io/shopify/toxiproxy:2.3.0`

</Release>

<Release version="v2.2.0" date="October 17, 2021" published="2021-10-17T16:32:33.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.2.0">
* Update linux packages to use `/usr/bin` folder as binary destination and change the executable names to
  exclude ARCH and OS names. New pathes:
  ```
  /usr/bin/toxiproxy-cli
  /usr/bin/toxiproxy-server
  ```
  (#331, @miry)
* A new toxic to simulate TCP RESET (Connection reset by peer) on the connections by closing
  the stub Input immediately or after a timeout. (#247 and #333, @chaosbox)


## Docker images

- `docker pull ghcr.io/shopify/toxiproxy:2.2.0`

</Release>

<Release version="v2.1.7" date="September 23, 2021" published="2021-09-23T15:00:38.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.1.7">
* Set the valid version during the build process.
  Verify the correct verion of the built binaries with `make release-dry` (#328, @miry)


## Docker images

- `docker pull ghcr.io/shopify/toxiproxy:2.1.7`

</Release>

<Release version="v2.1.6" date="September 23, 2021" published="2021-09-23T12:35:53.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.1.6">
* Use CHANGELOG.md for release description (#306, @miry)
* Dependency updates in #294 introduced a breaking change in CLI argument parsing.
  Now [flags must be specified before arguments](https://github.com/urfave/cli/blob/master/docs/migrate-v1-to-v2.md#flags-before-args).
  Previously, arguments could be specified prior to flags.
  Update usage help text and documentation. (#308, @miry)
* Run e2e tests to validate the command line and basic features of server,
  client and application (#309, @miry)
* Add /v2 suffix to module import path (#311, @dnwe)
* Setup automated checking source code for security vulnerabilities (#312, @miry)
* Setup code linter (#314, @miry)
  * Max line length is 100 characters (#316, @miry)
  * Linter to check whether HTTP response body is closed successfully (#317, @miry)
  * Make sure the function are not big (#318, @miry)
    * Extract client flags specs to seprate methods.
      Introduce a new way to manage toxics with `ToxicOptions` sturcture (#321, @miry)
    * Split `Proxy.server` to multiple small (#322, @miry)
    * Extract initializetion of fake upstream server to test helper (#323, @miry)
    * Support a list of well knonwn linters (#326, @miry)
* `--host` flag uses `TOXIPROXY_URL` if it is set (#319, @maaslalani)
* Run benchmarks in CI/CD (#320, @miry)
* Use scratch docker base image instead of alpine (#325, @miry)


## Docker images

- `docker pull ghcr.io/shopify/toxiproxy:2.1.6`

</Release>

<Release version="v2.1.5" date="September 1, 2021" published="2021-09-01T16:00:02.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.1.5">
## Changelog

* Move to Go Modules from godeps (#253, @epk)
* Update the example in `client/README.md` (#251, @nothinux)
* Update TOC in `README.md` (4ca1eddddfcd0c50c8f6dfb97089bb68e6310fd9, @dwradcliffe)
* Add an example of `config.json` file to `README.md` (#260, @JesseEstum)
* Add Link to Elixir Client (#287, @Jcambass)
* Add Rust client link (#293, @itarato)
* Renovations: formatting code, update dependicies, make govet/staticcheck pass (#294, @dnwe)
* Remove `openssl` from `dev.yml` to use `dev` tool (#298, @pedro-stanaka)
* Update `go` versions in development (#299, @miry)
* Mention `MacPorts` in `README.md` (#290, @amake)
* Fix some typos in `README.md` and `CHANGELOG.md` (#222, @jwilk)
* Replace TravisCI with Github Actions to run tests (#303, @miry)
* Build and release binaries with `goreleaser`. Support `arm64` and BSD oses. (#301, @miry)
* Automate release with Github actions (#304, @miry)

### Commits

eb81bfd Add Elixir Client to Readme
f1070b0 Add Rust client link.
18165c8 Add example config.json file to README.md
653f495 Automate release with Github actions (#302)
8029ed1 Create releases with goreleaser (#301)
916f03a Fix typos
d26384f Fixing dev.yml to allow running dev up
5321df3 Mention MacPorts in readme
8474b0e Merge branch 'master' into add_toxiproxy_elixir
b0ba1c8 Merge pull request #1 from Shopify/master
07d7b63 Merge pull request #241 from Shopify/v2.1.4
10f0561 Merge pull request #251 from nothinux/master
0ba0d2b Merge pull request #253 from Shopify/updates
cfe8289 Merge pull request #260 from JesseEstum/example_config
c262ed0 Merge pull request #287 from Jcambass/add_toxiproxy_elixir
115744c Merge pull request #293 from Shopify/feature/PA-Add-rust-client
335da76 Merge pull request #294 from dnwe/dnwe/renovations
769a33c Merge pull request #297 from Shopify/update-bundler-2.2.22-1
047ab7f Merge pull request #298 from Shopify/dev-compat
9134ef6 Move to go modules
758c1e5 Release 2.1.5 (#305)
0653399 Run tests for master and pull requests (#303)
5e860e5 Support solaris platform (#304)
517a128 Update build badge to Travis CI
9e1d709 Update bundler to 2.2.22
82715a0 Upgrade Golang and Ruby versions (#299)
febff58 chore: fix some minor govet/staticheck failures
ad7d9e2 chore: gofmt -s -w
f135051 chore: renovate dependencies
4ca1edd fix TOC in readme
5bb6b89 update docs


## Docker images

- `docker pull ghcr.io/shopify/toxiproxy:2.1.5`

</Release>

<Release version="v2.1.5-pre" date="September 1, 2021" published="2021-09-01T11:15:45.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.1.5-pre">
## Changelog

* Move to Go Modules from godeps (#253, @epk)
* Update the example in `client/README.md` (#251, @nothinux)
* Update TOC in `README.md` (4ca1eddddfcd0c50c8f6dfb97089bb68e6310fd9, @dwradcliffe)
* Add an example of `config.json` file to `README.md` (#260, @JesseEstum)
* Add Link to Elixir Client (#287, @Jcambass)
* Add Rust client link (#293, @itarato)
* Renovations: formatting code, update dependicies, make govet/staticcheck pass (#294, @dnwe)
* Remove `openssl` from `dev.yml` to use `dev` tool (#298, @pedro-stanaka)
* Update `go` versions in development (#299, @miry)
* Mention `MacPorts` in `README.md` (#290, @amake)
* Fix some typos in `README.md` and `CHANGELOG.md` (#222, @jwilk)
* Replace TravisCI with Github Actions to run tests (#303, @miry)
* Build and release binaries with `goreleaser`. Support `arm64` and BSD oses. (#301, @miry)
* Automate release with Github actions (#304, @miry)

### Commits

eb81bfd Add Elixir Client to Readme
f1070b0 Add Rust client link.
18165c8 Add example config.json file to README.md
653f495 Automate release with Github actions (#302)
8029ed1 Create releases with goreleaser (#301)
916f03a Fix typos
d26384f Fixing dev.yml to allow running dev up
5321df3 Mention MacPorts in readme
8474b0e Merge branch 'master' into add_toxiproxy_elixir
b0ba1c8 Merge pull request #1 from Shopify/master
07d7b63 Merge pull request #241 from Shopify/v2.1.4
10f0561 Merge pull request #251 from nothinux/master
0ba0d2b Merge pull request #253 from Shopify/updates
cfe8289 Merge pull request #260 from JesseEstum/example_config
c262ed0 Merge pull request #287 from Jcambass/add_toxiproxy_elixir
115744c Merge pull request #293 from Shopify/feature/PA-Add-rust-client
335da76 Merge pull request #294 from dnwe/dnwe/renovations
769a33c Merge pull request #297 from Shopify/update-bundler-2.2.22-1
047ab7f Merge pull request #298 from Shopify/dev-compat
9134ef6 Move to go modules
57dea59 Release 2.1.5 (#305)
0653399 Run tests for master and pull requests (#303)
5e860e5 Support solaris platform (#304)
517a128 Update build badge to Travis CI
9e1d709 Update bundler to 2.2.22
82715a0 Upgrade Golang and Ruby versions (#299)
febff58 chore: fix some minor govet/staticheck failures
ad7d9e2 chore: gofmt -s -w
f135051 chore: renovate dependencies
4ca1edd fix TOC in readme
5bb6b89 update docs


## Docker images

- `docker pull ghcr.io/shopify/toxiproxy:2.1.5-pre`

[2.1.5]: https://github.com/Shopify/toxiproxy/compare/v2.1.4...v2.1.5
</Release>

<Release version="v2.1.4" date="January 22, 2019" published="2019-01-22T15:27:12.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.1.4">
- Bug fix: Fix OOM with #232
- Documentation updates.
- CI and testing updates.
</Release>

<Release version="v2.1.3" date="March 5, 2018" published="2018-03-05T23:45:13.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.1.3">
# 2.1.3

* Update `/version` endpoint to also return a charset of utf-8. #204
* Bug fix: Double http concatination. #191
* Update cli examples to be more accurate. #187

Also updated docker hub for the first time in a while!!
</Release>

<Release version="v2.1.2" date="July 10, 2017" published="2017-07-10T13:42:37.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.1.2">
 * go 1.8, make Sirupsen lower case, update godeps (issue #179)
* Handle SIGTERM to exit cleanly (issue #180)
* Address security issue by disallowing browsers from accessing API
</Release>

<Release version="v2.1.2rc1" date="June 29, 2017" published="2017-06-29T17:47:23.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.1.2rc1">
**This is a test release, do not use in production**

 * go 1.8, make Sirupsen lower case, update godeps (issue #179)
* Handle SIGTERM to exit cleanly (issue #180)
* Address security issue by disallowing browsers from accessing API
</Release>

<Release version="v2.1.1" date="May 16, 2017" published="2017-05-16T17:30:44.000Z" url="https://github.com/Shopify/toxiproxy/releases/tag/v2.1.1">
Fixes timeout hang bug from issue #159.
</Release>

<Pagination page="1" total-pages="2" total-items="32" next="https://releases.sh/Shopify/shopify-toxiproxy.md?page=2" />
