### Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

#### [3.1.1](https://github.com/minrk/wurlitzer/compare/3.1.0...3.1.1)

- fix restore after capture with optimized file pipes [`#89`](https://github.com/minrk/wurlitzer/pull/89)
- Minor readme clarification [`#86`](https://github.com/minrk/wurlitzer/pull/86)
- sys_pipes: check that sys.stdout isn't being forwarded to itself [`#85`](https://github.com/minrk/wurlitzer/pull/85)

#### [3.1.0](https://github.com/minrk/wurlitzer/compare/3.0.3...3.1.0)

> 29 April 2024

- accept fileno-having objects for GIL-less capture [`#83`](https://github.com/minrk/wurlitzer/pull/83)
- update Python versions in test matrix [`#82`](https://github.com/minrk/wurlitzer/pull/82)
- accept Logger objects in pipes [`#81`](https://github.com/minrk/wurlitzer/pull/81)
- Update `pipes`'s docstring [`#78`](https://github.com/minrk/wurlitzer/pull/78)

#### [3.0.3](https://github.com/minrk/wurlitzer/compare/3.0.2...3.0.3)

> 1 December 2022

- ci: update packages in freebsd [`#70`](https://github.com/minrk/wurlitzer/pull/70)
- Include STDOUT and PIPE in public API [`#69`](https://github.com/minrk/wurlitzer/pull/69)
- use 2\*\*18 for bufsize test [`#61`](https://github.com/minrk/wurlitzer/pull/61)
- Try running tests on freebsd [`#60`](https://github.com/minrk/wurlitzer/pull/60)
- Add details to the failed-to-set-pipe-buffer-size warning [`#58`](https://github.com/minrk/wurlitzer/pull/58)
- Add details to the failed-to-set-pipe-buffer-size warning, closes #5757 [`#5757`](https://github.com/minrk/wurlitzer/issues/5757)

#### [3.0.2](https://github.com/minrk/wurlitzer/compare/3.0.1...3.0.2)

> 25 August 2021

- import F_GETPIPE_SZ along with F_SETPIPE_SZ [`#54`](https://github.com/minrk/wurlitzer/pull/54)

#### [3.0.1](https://github.com/minrk/wurlitzer/compare/3.0.0...3.0.1)

> 24 August 2021

- fix setting pipe buffer size [`#52`](https://github.com/minrk/wurlitzer/pull/52)

### [3.0.0](https://github.com/minrk/wurlitzer/compare/2.1.1...3.0.0)

> 19 August 2021

- fallback on cffi to detect stdout/stderr pointers [`#50`](https://github.com/minrk/wurlitzer/pull/50)
- use F_SETPIPE_SZ ot set large pipe page size, if available [`#51`](https://github.com/minrk/wurlitzer/pull/51)
- use Bytes/StringIO for pipes [`#49`](https://github.com/minrk/wurlitzer/pull/49)

#### [2.1.1](https://github.com/minrk/wurlitzer/compare/2.1.0...2.1.1)

> 21 July 2021

- explicitly close the poller when we are done with it [`#47`](https://github.com/minrk/wurlitzer/pull/47)
- fix typo in importing unittest.mock [`#45`](https://github.com/minrk/wurlitzer/pull/45)

#### [2.1.0](https://github.com/minrk/wurlitzer/compare/2.0.1...2.1.0)

> 30 March 2021

- Don't enable extension if sys.**stdout|err** is None [`#44`](https://github.com/minrk/wurlitzer/pull/44)
- github actions, pre-commit [`#43`](https://github.com/minrk/wurlitzer/pull/43)
- Fix crash in check for terminal ipython [`#42`](https://github.com/minrk/wurlitzer/pull/42)
- call stop_sys_pipes explicitly after unregister [`#40`](https://github.com/minrk/wurlitzer/pull/40)

#### [2.0.1](https://github.com/minrk/wurlitzer/compare/2.0.0...2.0.1)

> 6 July 2020

- regen changelog [`b0b028f`](https://github.com/minrk/wurlitzer/commit/b0b028f12e129844d813718d94656ab7e2a89678)
- add autocommit config file [`49227f1`](https://github.com/minrk/wurlitzer/commit/49227f18edaac240602f4dd37fc8ed79e372825c)
- Merge pull request #38 from minrk/flush-on-exit [`d24f50c`](https://github.com/minrk/wurlitzer/commit/d24f50c611164a3468622ca2ed80efc3abec8641)

### [2.0.0](https://github.com/minrk/wurlitzer/compare/1.0.3...2.0.0)

> 25 October 2019

- use selectors instead of select.poll [`#34`](https://github.com/minrk/wurlitzer/pull/34)

#### [1.0.3](https://github.com/minrk/wurlitzer/compare/1.0.2...1.0.3)

> 13 June 2019

- PR: Add thread lock [`#30`](https://github.com/minrk/wurlitzer/pull/30)
- update packages on travis [`#31`](https://github.com/minrk/wurlitzer/pull/31)
- test on mac [`#25`](https://github.com/minrk/wurlitzer/pull/25)
- select.poll timeout is in milliseconds [`#26`](https://github.com/minrk/wurlitzer/pull/26)
- using poll instead of select in forwarder [`#24`](https://github.com/minrk/wurlitzer/pull/24)
- setup.py improvements [`#19`](https://github.com/minrk/wurlitzer/pull/19)
- Link blogpost about redirecting stdout/stderr [`#18`](https://github.com/minrk/wurlitzer/pull/18)
- fixes #27? [`#27`](https://github.com/minrk/wurlitzer/issues/27)

#### [1.0.2](https://github.com/minrk/wurlitzer/compare/1.0.1...1.0.2)

> 20 May 2018

- move fflush to a thread [`#16`](https://github.com/minrk/wurlitzer/pull/16)

#### [1.0.1](https://github.com/minrk/wurlitzer/compare/1.0.0...1.0.1)

> 22 January 2018

- Test more Pythons [`#13`](https://github.com/minrk/wurlitzer/pull/13)
- avoid unnecessary close of original FDs [`#11`](https://github.com/minrk/wurlitzer/pull/11)

### [1.0.0](https://github.com/minrk/wurlitzer/compare/0.2.0...1.0.0)

> 22 June 2017

- use control pipe to signal closure [`#8`](https://github.com/minrk/wurlitzer/pull/8)
- import warnings [`#3`](https://github.com/minrk/wurlitzer/pull/3)
- Do nothing if loaded in terminal IPython [`#2`](https://github.com/minrk/wurlitzer/pull/2)

#### [0.2.0](https://github.com/minrk/wurlitzer/compare/0.1.2...0.2.0)

> 14 March 2016

- Make it an IPython extension [`5aa2237`](https://github.com/minrk/wurlitzer/commit/5aa22375de5516915bb1cb9168e04430933e86a6)

#### [0.1.2](https://github.com/minrk/wurlitzer/compare/0.1.1...0.1.2)

> 13 March 2016

- readme more [`e905543`](https://github.com/minrk/wurlitzer/commit/e9055432933b29a70246299f2534e44af01c7edb)
- flush before entering wurlitzer [`a8b3a85`](https://github.com/minrk/wurlitzer/commit/a8b3a856a576fe50e8771fddad7fcf3b21ae3285)
- bump patch on release [`841cf92`](https://github.com/minrk/wurlitzer/commit/841cf922a77fd1a954ff968530d096ecfc1879aa)

#### [0.1.1](https://github.com/minrk/wurlitzer/compare/0.1.0...0.1.1)

> 9 March 2016

- fix names in README, long_description [`7f95a69`](https://github.com/minrk/wurlitzer/commit/7f95a690985e9ff2e7360c2c433fa9b9187f8758)

#### 0.1.0

> 9 March 2016

- init package [`88e28b7`](https://github.com/minrk/wurlitzer/commit/88e28b7685806006fdd3c9a2021705be1b9fbbed)
- Add demo notebook [`ea70e0e`](https://github.com/minrk/wurlitzer/commit/ea70e0e1f82ccb2e3283b6baf2c1d91c0b05ac8a)
- Initial commit [`9646cf2`](https://github.com/minrk/wurlitzer/commit/9646cf2417cc46c61d1f6437f8f76efa56ccf2d8)
