<commit_before>=========
Changelog
=========

* :release:`0.12.1 <2016-02-03>`
* :bug:`308` Earlier changes to TTY detection & its use in determining features
  such as stdin pass-through, were insufficient to handle edge cases such as
  nested Invoke sessions or piped stdin to Invoke processes. This manifested as
  hangs and ``OSError`` messages about broken pipes.

  The issue has been fixed by overhauling all related code to use more specific
  and accurate checks (e.g. examining just ``fileno`` and/or just ``isatty``).

  Thanks to <NAME> and <NAME> for the report (and for enduring
  the subsequent flood of the project maintainer's stream-of-consciousness
  ticket updates).
* :bug:`305` (also :issue:`306`) Fix up some test-suite issues causing failures
  on Windows/Appveyor. Thanks to <NAME>.
* :bug:`289` Handful of issues, all fallout from :issue:`289`, which failed to
  make it out the door for 0.12.0. More are on the way but these should address
  blockers for some users:

    * Windows support for the new stdin replication functionality (this was
      totally blocking Windows users, as reported in :issue:`302` - sorry!);
    * Stdin is now mirrored to stdout when no PTY is present, so you can see
      what you're typing (plus a new `~invoke.runners.Runner.run` option and<commit_msg>Changelog re #303<commit_after>=========
Changelog
=========

* :bug:`303` Make sure `~invoke.run` waits for its IO worker threads to cleanly
  exit (such as allowing a ``finally`` block to revert TTY settings) when
  ``KeyboardInterrupt`` (or similar) aborts execution in the main thread.
  Thanks to <NAME> and <NAME> for the report.
* :release:`0.12.1 <2016-02-03>`
* :bug:`308` Earlier changes to TTY detection & its use in determining features
  such as stdin pass-through, were insufficient to handle edge cases such as
  nested Invoke sessions or piped stdin to Invoke processes. This manifested as
  hangs and ``OSError`` messages about broken pipes.

  The issue has been fixed by overhauling all related code to use more specific
  and accurate checks (e.g. examining just ``fileno`` and/or just ``isatty``).

  Thanks to <NAME> and <NAME> for the report (and for enduring
  the subsequent flood of the project maintainer's stream-of-consciousness
  ticket updates).
* :bug:`305` (also :issue:`306`) Fix up some test-suite issues causing failures
  on Windows/Appveyor. Thanks to <NAME>re.
* :bug:`289` Handful of issues, all fallout from :issue:`289`, which failed to
  make it out the door for 0.12.0. More are on the way but these should address
  blockers for some users:

    * Windows support for the new stdin replication functionality (this was
      totally blocking Windows users, as reported in :issue:`302` - sorry!);
    * Stdin is now mirrored to stdout when no PTY is present, so you can see
      what you're typing (plus a new `~invoke.runners.Runner.run` option and
{'fraction_non_alphanumeric': 0.09428768066070199, 'fraction_numerical': 0.025464556090846524, 'mean_word_length': 4.0821678321678325, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7023022', 'n_tokens_mistral': 890, 'n_tokens_neox': 806, 'n_words': 402}