<commit_before># 0.3.2 (October 27, 2020)

Adds `AsyncFd` as a replacement for v0.2's `PollEvented`.

### Fixed
- io: fix a potential deadlock when shutting down the I/O driver (#2903).
- sync: `RwLockWriteGuard::downgrade()` bug (#2957).

### Added
- io: `AsyncFd` for receiving readiness events on raw FDs (#2903).
- net: `poll_*` function on `UdpSocket` (#2981).
- net: `UdpSocket::take_error()` (#3051).
- sync: `oneshot::Sender::poll_closed()` (#3032).

# 0.3.1 (October 21, 2020)

This release fixes an use-after-free in the IO driver. Additionally, the `read_buf`
and `write_buf` methods have been added back to the IO traits, as the bytes crate
is now on track to reach version 1.0 together with Tokio.

### Fixed
- net: fix use-after-free (#3019).
- fs: ensure buffered data is written on shutdown (#3009).

### Added
- io: `copy_buf()` (#2884).
- io: `AsyncReadExt::read_buf()`, `AsyncReadExt::write_buf()` for working with
  `Buf`/`BufMut` (#3003).
- rt: `Runtime::spawn_blocking()` (#2980).
- sync: `watch::Sender::is_closed()` (#2991).

# 0.3.0 (October 15, 2020)

This represents a 1.0 beta release. APIs are polished and future-proofed. APIs
not included for 1.0 stabilization have been removed.

Biggest changes are:

- I/O driver internal rewrite. The windows implementation includes significant
  changes.
- Runtime API is polished, especially with how it interacts with feature flag
  combinations.
- Feature flags are simplified
  - `rt-core` and `rt-util` are combined to `rt`
  - `rt-threaded` is renamed to `rt-multi-thread` to match builder API
  - `tcp`, `udp`, `uds`, `dns` are combied to `net`.
  - `parking_lot` is included with `full`

### Changes
- meta: Minimum supported Rust version is now 1.45.
- io: `AsyncRead` trait now takes `ReadBuf` in order to safely handle reading
  into uninitialized memory (#2758).
- io: Internal I/O driver storage is now able to compact (#2757).
- rt: `Runtime::block_on` now takes `&self` (#2782).
- sync: `watch` reworked to decouple receiving a change notification from
  receiving the value (#2814, #2806).
- sync: `Notify::notify` is renamed to `notify_one` (#2822).
- process: `Child::kill` is now an `async fn` that cleans zombies (#2823).
- sync: use `const fn` constructors as possible (#2833, #2790)
- signal: reduce cross-thread notification (#2835).
- net: tcp,udp,uds types support operations with `&self` (#2828, #2919, #2934).
- sync: blocking `mpsc` channel supports `send` with `&self` (#2861).
- time: rename `delay_for` and `delay_until` to `sleep` and `sleep_until` (#2826).
- io: upgrade to `mio` 0.7 (#2893).
- io: `AsyncSeek` trait is tweaked (#2885).
- fs: `File` operations take `&self` (#2930).
- rt: runtime API, and `#[tokio::main]` macro polish (#2876)
- rt: `Runtime::enter` uses an RAII guard instead of a closure (#2954).

### Added
- sync: `map` function to lock guards (#2445).<commit_msg>doc: add from_std change to CHANGELOG (#3075)<commit_after># 0.3.2 (October 27, 2020)

Adds `AsyncFd` as a replacement for v0.2's `PollEvented`.

### Fixed
- io: fix a potential deadlock when shutting down the I/O driver (#2903).
- sync: `RwLockWriteGuard::downgrade()` bug (#2957).

### Added
- io: `AsyncFd` for receiving readiness events on raw FDs (#2903).
- net: `poll_*` function on `UdpSocket` (#2981).
- net: `UdpSocket::take_error()` (#3051).
- sync: `oneshot::Sender::poll_closed()` (#3032).

# 0.3.1 (October 21, 2020)

This release fixes an use-after-free in the IO driver. Additionally, the `read_buf`
and `write_buf` methods have been added back to the IO traits, as the bytes crate
is now on track to reach version 1.0 together with Tokio.

### Fixed
- net: fix use-after-free (#3019).
- fs: ensure buffered data is written on shutdown (#3009).

### Added
- io: `copy_buf()` (#2884).
- io: `AsyncReadExt::read_buf()`, `AsyncReadExt::write_buf()` for working with
  `Buf`/`BufMut` (#3003).
- rt: `Runtime::spawn_blocking()` (#2980).
- sync: `watch::Sender::is_closed()` (#2991).

# 0.3.0 (October 15, 2020)

This represents a 1.0 beta release. APIs are polished and future-proofed. APIs
not included for 1.0 stabilization have been removed.

Biggest changes are:

- I/O driver internal rewrite. The windows implementation includes significant
  changes.
- Runtime API is polished, especially with how it interacts with feature flag
  combinations.
- Feature flags are simplified
  - `rt-core` and `rt-util` are combined to `rt`
  - `rt-threaded` is renamed to `rt-multi-thread` to match builder API
  - `tcp`, `udp`, `uds`, `dns` are combied to `net`.
  - `parking_lot` is included with `full`

### Changes
- meta: Minimum supported Rust version is now 1.45.
- io: `AsyncRead` trait now takes `ReadBuf` in order to safely handle reading
  into uninitialized memory (#2758).
- io: Internal I/O driver storage is now able to compact (#2757).
- rt: `Runtime::block_on` now takes `&self` (#2782).
- sync: `watch` reworked to decouple receiving a change notification from
  receiving the value (#2814, #2806).
- sync: `Notify::notify` is renamed to `notify_one` (#2822).
- process: `Child::kill` is now an `async fn` that cleans zombies (#2823).
- sync: use `const fn` constructors as possible (#2833, #2790)
- signal: reduce cross-thread notification (#2835).
- net: tcp,udp,uds types support operations with `&self` (#2828, #2919, #2934).
- sync: blocking `mpsc` channel supports `send` with `&self` (#2861).
- time: rename `delay_for` and `delay_until` to `sleep` and `sleep_until` (#2826).
- io: upgrade to `mio` 0.7 (#2893).
- io: `AsyncSeek` trait is tweaked (#2885).
- fs: `File` operations take `&self` (#2930).
- rt: runtime API, and `#[tokio::main]` macro polish (#2876)
- rt: `Runtime::enter` uses an RAII guard instead of a closure (#2954).
- net: the `from_std` function on all sockets no longer sets socket into non-blocking mode (#2893)

### Added
- sync: `map` function to lock guards (#2445).
{'fraction_non_alphanumeric': 0.14834885690093141, 'fraction_numerical': 0.05961049957662998, 'mean_word_length': 4.249777777777778, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '1312035', 'n_tokens_mistral': 2259, 'n_tokens_neox': 1931, 'n_words': 766}