diff --git a/crates/textwrap/.android-checksum.json b/crates/textwrap/.android-checksum.json
index 44c03fe..5e12b91 100644
--- a/crates/textwrap/.android-checksum.json
+++ b/crates/textwrap/.android-checksum.json
@@ -1 +1 @@
-{"package":null,"files":{".cargo-checksum.json":"0dac5bd7e5a1d5c7b5f9179a48a521d7b0111e88cc436e778c16da272b053483","Android.bp":"120b0f00b8985f3408b93c2f8938599ca3e461451556c462bf3c87e2e452b272","CHANGELOG.md":"cb64070a5d1ff874383e7d5ea4518232b69710956cf4645a742244b4fc3393ab","Cargo.lock":"de655148efbc57fa392c0b62016ab85e1566d3680d877694321bafe17ddf366d","Cargo.toml":"a2421be759cfe248459b862e5eaf54fb6b291a18d7b917c1d7411fb95a25afda","LICENSE":"6313043340d419f839feeecb23b50e9578ea6395482c4cdeeee97b368b055ecd","METADATA":"be49e28e9338ab281356ad881da46efdae3770c40230ff750868fa9fe30e8a52","MODULE_LICENSE_MIT":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","README.md":"f6f56de352892cb84de0a68f35c327ebfd934c39829b71d94d8afb3c6b188c79","TEST_MAPPING":"150ff00712a0e459d398e2c22b3d247530b9dd85a8afa66fb33b8b0b33c50326","cargo_embargo.json":"90e88d48b8b66c169f4bdb414623f05a1268265397fdeb5aecb3e50c74916444","rustfmt.toml":"922261b27cfc88b760a98e5599e8aa236a30277b4d6ff94b4f13ce1048e47724","src/columns.rs":"3a53a79c7b85bff98f8e8d5418cce71e388b484b821a21d74aae442e402ad5de","src/core.rs":"c7dd9de96e8591fdc97a138436caa9e04ebb324612f50cf72d02f542beebe32b","src/fill.rs":"341b37ee7da0b1ea0bb3a5623a6cae597e516494392a4bbbbbc7613330a8dfec","src/fuzzing.rs":"501c698180b11eff01b02ed571a8aea4a42be692c973dc4d27c8e70f5dd02d32","src/indentation.rs":"9f8e7de5b0cdae818ad04f287a547124228e46c5761fade573ac110d87ad153e","src/lib.rs":"4c3c6cdfdbfde5885ce8e199f5e030b74f3325067c5ee508234cedb2a8e3bf89","src/line_ending.rs":"608b79214e3699a8478df22d90c36b48ebd9dc4fccbc5c92ee3ff4adfb64d205","src/options.rs":"4718e1bccb6a9de9ddd36012884cd2151ef7ccace4f057c19c8bb9a0b19a291d","src/refill.rs":"d1a0698020464d6e3a59c23f5389d4485337c78ee93193405cc1d9a86a267265","src/termwidth.rs":"4d5fb79617e643a246594ea69ed6c317f3bce40ae96eeb54777bc77a66366f21","src/word_separators.rs":"cf203fbf4576df83549d826f8723749e3e4e8d87c4479eacf4fc734c6f3daaf2","src/word_splitters.rs":"63748fba20d3c002457e37b96b18dc31922102550f478fcbee5514771d453fbf","src/wrap.rs":"a2103572284312021ca266861a683c418817d107695a8ded7fa372145f60db14","src/wrap_algorithms.rs":"b49fac73098f6232520d5757ae5391c0bb8ea97b5f777bb1d344b7f17e0737d5","src/wrap_algorithms/optimal_fit.rs":"869c7d2980cf65eb889215cc9bad1a50e04ac17b112be8d580563e3a1b3ef176","tests/indent.rs":"b72b15af05a4fc797cda88390adac9f0e7de1696d70d8dbcd0ec7eedc6297d74","tests/version-numbers.rs":"5c979a297b0a007544a3a9577b774e1d01bf04c03a23a7f554889afc1fdde159"}}
\ No newline at end of file
+{"package":null,"files":{".cargo-checksum.json":"7e77f39180c989a22361906b5ae1fd2a0cf1a0fe3291b82ca593301d049b9505","Android.bp":"fbbee48ccd4119bddfaa62f80c6c9226dc5d81ab0ef515a066f26fdc37c584f3","CHANGELOG.md":"a1d0803aaf577473bd76a725e9507d6ab9d165cd6cc7c8321bb1be31ee6538bb","Cargo.toml":"59463707508faba3f65ca341bc38c02fc9ff32c306a8cbafe02af1c63db038ca","LICENSE":"6313043340d419f839feeecb23b50e9578ea6395482c4cdeeee97b368b055ecd","METADATA":"902ba0c9fd2f70277cb37556816a10f1e7e0c3ac32cbca57587e4ff91f03795a","MODULE_LICENSE_MIT":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","README.md":"34f7fe435aadd8272c81d9b778d82c353735d128578028f9fa4a941edd50d469","TEST_MAPPING":"150ff00712a0e459d398e2c22b3d247530b9dd85a8afa66fb33b8b0b33c50326","cargo_embargo.json":"90e88d48b8b66c169f4bdb414623f05a1268265397fdeb5aecb3e50c74916444","dprint.json":"71e1b0666488e4014cfd03825cf43866a7b8570394563f42d57c18af97cfede4","rustfmt.toml":"922261b27cfc88b760a98e5599e8aa236a30277b4d6ff94b4f13ce1048e47724","src/columns.rs":"3a53a79c7b85bff98f8e8d5418cce71e388b484b821a21d74aae442e402ad5de","src/core.rs":"e32e47d387071d8a44dfa72d774a2a29b4139309d5c3218d866ba6cab2f8fff2","src/fill.rs":"341b37ee7da0b1ea0bb3a5623a6cae597e516494392a4bbbbbc7613330a8dfec","src/fuzzing.rs":"501c698180b11eff01b02ed571a8aea4a42be692c973dc4d27c8e70f5dd02d32","src/indentation.rs":"9f8e7de5b0cdae818ad04f287a547124228e46c5761fade573ac110d87ad153e","src/lib.rs":"31447d5792f84315c9c487059b06e3729b3e0a8c01b7df8fe20cf01241f4f4cb","src/line_ending.rs":"608b79214e3699a8478df22d90c36b48ebd9dc4fccbc5c92ee3ff4adfb64d205","src/options.rs":"22468f72f1c593290afb08c0df46f73fce6950be00caa27b6a00d1a6d0c29062","src/refill.rs":"d1a0698020464d6e3a59c23f5389d4485337c78ee93193405cc1d9a86a267265","src/termwidth.rs":"4d5fb79617e643a246594ea69ed6c317f3bce40ae96eeb54777bc77a66366f21","src/word_separators.rs":"39255fbaf836a4de6c21803a6b6adecfb07d33bbf51a8cfc26dba4bbe3b3ed48","src/word_splitters.rs":"9e5c903d2fdd2aeacae4f08f629f08560e1df613b78d658be44d963c510772bd","src/wrap.rs":"a2103572284312021ca266861a683c418817d107695a8ded7fa372145f60db14","src/wrap_algorithms.rs":"20b0a0db8c0923ae236856a0d9b66f83ff8d630532f66e3f20e6553a0aec6257","src/wrap_algorithms/optimal_fit.rs":"869c7d2980cf65eb889215cc9bad1a50e04ac17b112be8d580563e3a1b3ef176","tests/indent.rs":"b72b15af05a4fc797cda88390adac9f0e7de1696d70d8dbcd0ec7eedc6297d74","tests/version-numbers.rs":"5c979a297b0a007544a3a9577b774e1d01bf04c03a23a7f554889afc1fdde159"}}
\ No newline at end of file
diff --git a/crates/textwrap/.cargo-checksum.json b/crates/textwrap/.cargo-checksum.json
index 0948683..52bf023 100644
--- a/crates/textwrap/.cargo-checksum.json
+++ b/crates/textwrap/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"CHANGELOG.md":"2b49672ca15da27844abb6643660faa3a517b1b731c7c5023a55de2e570f35fb","Cargo.lock":"c60631b9ccb2798984507f9e074ce15d9b6e59f34d4dc3418ef40c222ac55725","Cargo.toml":"bccd38e75da62b89a7bb2d741926688f1822ecd5165a703ffaadf9177a34e919","LICENSE":"ce93600c49fbb3e14df32efe752264644f6a2f8e08a735ba981725799e5309ef","README.md":"5dd8128a4e9057aeb6133a073d30a819230243907e717349101b41a11ec23234","rustfmt.toml":"02637ad90caa19885b25b1ce8230657b3703402775d9db83687a3f55de567509","src/columns.rs":"73432251f95ac0b84d5e971989ebc5f867d8b8ca82d5e3fc67fe3a66216fbc38","src/core.rs":"e2cc6b1e5978df0db9b6d0425e7d0ebf65dd188aff90df800f1f2dda7b1c53f2","src/fill.rs":"1fe773dad2d0bb67a7739b3931c1ee3269d677b71a0716dcdb5b01fe2539d7c2","src/fuzzing.rs":"0a77010a555a244ac5e907754b2104912299815009922cfdc0f6b48d92135295","src/indentation.rs":"f41ee8be41e01620c7d88b76f81a01ce6a619939505eaf3fcfe6c8021fae022b","src/lib.rs":"d5d39085faa4527bf6c16a91c5a44b9b894e3f3a2606763bceac22038528c28c","src/line_ending.rs":"bf416f683ab952d4df75d5dc3c199e7ae7740db2c5982ac1a20c3f4b186ded76","src/options.rs":"0d3aec6ab238f3aa14aa57e736384ec208cd3013373941c76d66c0125ca0630f","src/refill.rs":"33ce98ef31c4791893fc2136edd8f8d95cdd38fa54daa59aaf078b359c43d913","src/termwidth.rs":"2e7854e822c435341bc4d467d13614d417df4f2f530cea3c5e49e3b44e754943","src/word_separators.rs":"d3b2b5faf224bf414bf9da48be02eaffb41aec3a91674bedab02ad5748344143","src/word_splitters.rs":"8de2b92eff6d752e321f219136b45b9812267b5be7ace57602a3bb9d3b5cf332","src/wrap.rs":"52c48e2e5155100e4067363e56b180785684bca3109c95c3425ef8051738ff0e","src/wrap_algorithms.rs":"c99498f2e58634f707545ba73c3a99025086d1afb8c12aeceff2ced2887bb8ae","src/wrap_algorithms/optimal_fit.rs":"a9ce8bad61d4fa81df9e292a557fbf5303df78391d63610ec512b9b06f9193b1","tests/indent.rs":"51f977db11632a32fafecf86af88413d51238fe6efcf18ec52fac89133714278","tests/version-numbers.rs":"9e964f58dbdf051fc6fe0d6542ab312d3e95f26c3fd14bce84449bb625e45761"},"package":"23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"}
\ No newline at end of file
+{"files":{"CHANGELOG.md":"123afc265217452f107de1a41575175073d1b4d0c6de805a69c680d11e722d61","Cargo.toml":"7dd1dff309ceeb9643053c0dc9369adb8cc8d24277e01c15894d176bdc309a29","LICENSE":"ce93600c49fbb3e14df32efe752264644f6a2f8e08a735ba981725799e5309ef","README.md":"a6af9c0c0d3f66531572dba26a80ed0453d19c21594d1f821ab45404451a484c","dprint.json":"610d0fa20613c46ccb6accd22ba61feeb42fd3fdc7536f488f625c2bbb797cc0","rustfmt.toml":"02637ad90caa19885b25b1ce8230657b3703402775d9db83687a3f55de567509","src/columns.rs":"73432251f95ac0b84d5e971989ebc5f867d8b8ca82d5e3fc67fe3a66216fbc38","src/core.rs":"c86d46cdb8b25236ca71590c07753becf83d9a8ffa177d5659776a8b9df82307","src/fill.rs":"1fe773dad2d0bb67a7739b3931c1ee3269d677b71a0716dcdb5b01fe2539d7c2","src/fuzzing.rs":"0a77010a555a244ac5e907754b2104912299815009922cfdc0f6b48d92135295","src/indentation.rs":"f41ee8be41e01620c7d88b76f81a01ce6a619939505eaf3fcfe6c8021fae022b","src/lib.rs":"f75e23a5fb7a79c9b4f460b6066405928da3a189071fdf5f3b786ca1deabe34d","src/line_ending.rs":"bf416f683ab952d4df75d5dc3c199e7ae7740db2c5982ac1a20c3f4b186ded76","src/options.rs":"6c69154a5ab3ff82aa08d259bb2a9dbb657efb96d1e660641617ba37a8e42f14","src/refill.rs":"33ce98ef31c4791893fc2136edd8f8d95cdd38fa54daa59aaf078b359c43d913","src/termwidth.rs":"2e7854e822c435341bc4d467d13614d417df4f2f530cea3c5e49e3b44e754943","src/word_separators.rs":"867dc93a1c726490aa2260a58ecfde39c3c3d9b475ceff524706c2149bbff98a","src/word_splitters.rs":"ac9b82108e6b38260b7117c0430dc6e4de54df5936ce9aefbbca6e87b16e1fbe","src/wrap.rs":"52c48e2e5155100e4067363e56b180785684bca3109c95c3425ef8051738ff0e","src/wrap_algorithms.rs":"c99f5878e9451a492443b8bdb2aa42245af15d5d0c742ab13e24f5fcdd7c2bef","src/wrap_algorithms/optimal_fit.rs":"a9ce8bad61d4fa81df9e292a557fbf5303df78391d63610ec512b9b06f9193b1","tests/indent.rs":"51f977db11632a32fafecf86af88413d51238fe6efcf18ec52fac89133714278","tests/version-numbers.rs":"9e964f58dbdf051fc6fe0d6542ab312d3e95f26c3fd14bce84449bb625e45761"},"package":"c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057"}
\ No newline at end of file
diff --git a/crates/textwrap/Android.bp b/crates/textwrap/Android.bp
index e8b615e..d929998 100644
--- a/crates/textwrap/Android.bp
+++ b/crates/textwrap/Android.bp
@@ -18,7 +18,7 @@
     host_supported: true,
     crate_name: "textwrap",
     cargo_env_compat: true,
-    cargo_pkg_version: "0.16.1",
+    cargo_pkg_version: "0.16.2",
     crate_root: "src/lib.rs",
     edition: "2021",
     apex_available: [
diff --git a/crates/textwrap/CHANGELOG.md b/crates/textwrap/CHANGELOG.md
index 362c0c0..498d3a9 100644
--- a/crates/textwrap/CHANGELOG.md
+++ b/crates/textwrap/CHANGELOG.md
@@ -1,76 +1,87 @@
 # Changelog
 
-This file lists the most important changes made in each release of
-`textwrap`.
+This file lists the most important changes made in each release of `textwrap`.
+
+## Version 0.16.2 (2025-03-03)
+
+This release fixes an unnecessary `f64` cast, updates all dependencies, bumps
+the minimum supported Rust version to 1.70.
+
+- [#540](https://github.com/mgeisler/textwrap/pull/540): Avoid spurious `f64`
+  cast and comparison.
+- [#565](https://github.com/mgeisler/textwrap/pull/565): Configure automatic
+  Dependabot updates.
+- [#579](https://github.com/mgeisler/textwrap/pull/579): Bump `rust-version` to
+  1.70.
 
 ## Version 0.16.1 (2024-02-17)
 
 This release fixes `display_width` to ignore inline-hyperlinks. The minimum
 supported version of Rust is now documented to be 1.56.
 
-* [#526](https://github.com/mgeisler/textwrap/pull/526): Ignore ANSI hyperlinks
+- [#526](https://github.com/mgeisler/textwrap/pull/526): Ignore ANSI hyperlinks
   in `display_width`: calculations.
-* [#521](https://github.com/mgeisler/textwrap/pull/521): Add `Options::width`
+- [#521](https://github.com/mgeisler/textwrap/pull/521): Add `Options::width`
   setter method.
-* [#520](https://github.com/mgeisler/textwrap/pull/520): Clarify that
+- [#520](https://github.com/mgeisler/textwrap/pull/520): Clarify that
   `WordSeparator` is an enum rather than a trait.
-* [#518](https://github.com/mgeisler/textwrap/pull/518): Test with latest stable
+- [#518](https://github.com/mgeisler/textwrap/pull/518): Test with latest stable
   and nightly Rust, but check that we can build with Rust 1.56.
 
 ## Version 0.16.0 (2022-10-23)
 
-This release marks `Options` as `non_exhaustive` and extends it to
-make line endings configurable, it adds new fast paths to `fill` and
-`wrap`, and it fixes crashes in `unfill` and `refill`.
+This release marks `Options` as `non_exhaustive` and extends it to make line
+endings configurable, it adds new fast paths to `fill` and `wrap`, and it fixes
+crashes in `unfill` and `refill`.
 
-* [#480](https://github.com/mgeisler/textwrap/pull/480): Mark
-  `Options` as `non_exhaustive`. This will allow us to extend the
-  struct in the future without breaking backwards compatibility.
-* [#478](https://github.com/mgeisler/textwrap/pull/478): Add fast
-  paths to `fill` and `wrap`. This makes the functions 10-25 times
-  faster when the no wrapping is needed.
-* [#468](https://github.com/mgeisler/textwrap/pull/468): Fix `refill`
-  to add back correct line ending.
-* [#467](https://github.com/mgeisler/textwrap/pull/467): Fix crashes
-  in `unfill` and `refill`.
-* [#458](https://github.com/mgeisler/textwrap/pull/458): Test with
-  Rust 1.56 (first compiler release with support for Rust 2021).
-* [#454](https://github.com/mgeisler/textwrap/pull/454): Make line
-  endings configurable.
-* [#448](https://github.com/mgeisler/textwrap/pull/448): Migrate to
-  the Rust 2021 edition.
+- [#480](https://github.com/mgeisler/textwrap/pull/480): Mark `Options` as
+  `non_exhaustive`. This will allow us to extend the struct in the future
+  without breaking backwards compatibility.
+- [#478](https://github.com/mgeisler/textwrap/pull/478): Add fast paths to
+  `fill` and `wrap`. This makes the functions 10-25 times faster when the no
+  wrapping is needed.
+- [#468](https://github.com/mgeisler/textwrap/pull/468): Fix `refill` to add
+  back correct line ending.
+- [#467](https://github.com/mgeisler/textwrap/pull/467): Fix crashes in `unfill`
+  and `refill`.
+- [#458](https://github.com/mgeisler/textwrap/pull/458): Test with Rust 1.56
+  (first compiler release with support for Rust 2021).
+- [#454](https://github.com/mgeisler/textwrap/pull/454): Make line endings
+  configurable.
+- [#448](https://github.com/mgeisler/textwrap/pull/448): Migrate to the Rust
+  2021 edition.
 
 ## Version 0.15.2 (2022-10-24)
 
-This release is identical to 0.15.0 and is only there to give people a
-way to install crates which depend on the yanked 0.15.1 release. See
+This release is identical to 0.15.0 and is only there to give people a way to
+install crates which depend on the yanked 0.15.1 release. See
 [#484](https://github.com/mgeisler/textwrap/issues/484) for details.
 
 ## Version 0.15.1 (2022-09-15)
 
-This release was yanked since it accidentally broke backwards
-compatibility with 0.15.0.
+This release was yanked since it accidentally broke backwards compatibility with
+0.15.0.
 
 ## Version 0.15.0 (2022-02-27)
 
 This is a major feature release with two main changes:
 
-* [#421](https://github.com/mgeisler/textwrap/pull/421): Use `f64`
-  instead of `usize` for fragment widths.
+- [#421](https://github.com/mgeisler/textwrap/pull/421): Use `f64` instead of
+  `usize` for fragment widths.
 
   This fixes problems with overflows in the internal computations of
-  `wrap_optimal_fit` when fragments (words) or line lengths had
-  extreme values, such as `usize::MAX`.
+  `wrap_optimal_fit` when fragments (words) or line lengths had extreme values,
+  such as `usize::MAX`.
 
-* [#438](https://github.com/mgeisler/textwrap/pull/438): Simplify
-  `Options` by removing generic type parameters.
+- [#438](https://github.com/mgeisler/textwrap/pull/438): Simplify `Options` by
+  removing generic type parameters.
 
-  This change removes the new generic parameters introduced in version
-  0.14, as well as the original `WrapSplitter` parameter which has
-  been present since very early versions.
+  This change removes the new generic parameters introduced in version 0.14, as
+  well as the original `WrapSplitter` parameter which has been present since
+  very early versions.
 
-  The result is a simplification of function and struct signatures
-  across the board. So what used to be
+  The result is a simplification of function and struct signatures across the
+  board. So what used to be
 
   ```rust
   let options: Options<
@@ -86,54 +97,52 @@
   let options: Options<'_> = Options::new(80);
   ```
 
-  The anonymous lifetime represent the lifetime of the
-  `initial_indent` and `subsequent_indent` strings. The change is
-  nearly performance neutral (a 1-2% regression).
+  The anonymous lifetime represent the lifetime of the `initial_indent` and
+  `subsequent_indent` strings. The change is nearly performance neutral (a 1-2%
+  regression).
 
 Smaller improvements and changes:
 
-* [#404](https://github.com/mgeisler/textwrap/pull/404): Make
-  documentation for short last-line penalty more precise.
-* [#405](https://github.com/mgeisler/textwrap/pull/405): Cleanup and
-  simplify `Options` docstring.
-* [#411](https://github.com/mgeisler/textwrap/pull/411): Default to
-  `OptimalFit` in interactive example.
-* [#415](https://github.com/mgeisler/textwrap/pull/415): Add demo
-  program to help compute binary sizes.
-* [#423](https://github.com/mgeisler/textwrap/pull/423): Add fuzz
-  tests with fully arbitrary fragments.
-* [#424](https://github.com/mgeisler/textwrap/pull/424): Change
+- [#404](https://github.com/mgeisler/textwrap/pull/404): Make documentation for
+  short last-line penalty more precise.
+- [#405](https://github.com/mgeisler/textwrap/pull/405): Cleanup and simplify
+  `Options` docstring.
+- [#411](https://github.com/mgeisler/textwrap/pull/411): Default to `OptimalFit`
+  in interactive example.
+- [#415](https://github.com/mgeisler/textwrap/pull/415): Add demo program to
+  help compute binary sizes.
+- [#423](https://github.com/mgeisler/textwrap/pull/423): Add fuzz tests with
+  fully arbitrary fragments.
+- [#424](https://github.com/mgeisler/textwrap/pull/424): Change
   `wrap_optimal_fit` penalties to non-negative numbers.
-* [#430](https://github.com/mgeisler/textwrap/pull/430): Add
-  `debug-words` example.
-* [#432](https://github.com/mgeisler/textwrap/pull/432): Use precise
-  dependency versions in Cargo.toml.
+- [#430](https://github.com/mgeisler/textwrap/pull/430): Add `debug-words`
+  example.
+- [#432](https://github.com/mgeisler/textwrap/pull/432): Use precise dependency
+  versions in Cargo.toml.
 
 ## Version 0.14.2 (2021-06-27)
 
-The 0.14.1 release included more changes than intended and has been
-yanked. The change intended for 0.14.1 is now included in 0.14.2.
+The 0.14.1 release included more changes than intended and has been yanked. The
+change intended for 0.14.1 is now included in 0.14.2.
 
 ## Version 0.14.1 (2021-06-26)
 
 This release fixes a panic reported by @Makoto, thanks!
 
-* [#391](https://github.com/mgeisler/textwrap/pull/391): Fix panic in
+- [#391](https://github.com/mgeisler/textwrap/pull/391): Fix panic in
   `find_words` due to string access outside of a character boundary.
 
 ## Version 0.14.0 (2021-06-05)
 
-This is a major feature release which makes Textwrap more configurable
-and flexible. The high-level API of `textwrap::wrap` and
-`textwrap::fill` remains unchanged, but low-level structs have moved
-around.
+This is a major feature release which makes Textwrap more configurable and
+flexible. The high-level API of `textwrap::wrap` and `textwrap::fill` remains
+unchanged, but low-level structs have moved around.
 
-The biggest change is the introduction of new generic type parameters
-to the `Options` struct. These parameters lets you statically
-configure the wrapping algorithm, the word separator, and the word
-splitter. If you previously spelled out the full type for `Options`,
-you now need to take the extra type parameters into account. This
-means that
+The biggest change is the introduction of new generic type parameters to the
+`Options` struct. These parameters lets you statically configure the wrapping
+algorithm, the word separator, and the word splitter. If you previously spelled
+out the full type for `Options`, you now need to take the extra type parameters
+into account. This means that
 
 ```rust
 let options: Options<HyphenSplitter> = Options::new(80);
@@ -149,150 +158,140 @@
 > = Options::new(80);
 ```
 
-This is quite a mouthful, so we suggest using type inference where
-possible. You won’t see any chance if you call `wrap` directly with a
-width or with an `Options` value constructed on the fly. Please open
-an issue if this causes problems for you!
+This is quite a mouthful, so we suggest using type inference where possible. You
+won’t see any chance if you call `wrap` directly with a width or with an
+`Options` value constructed on the fly. Please open an issue if this causes
+problems for you!
 
 ### New `WordSeparator` Trait
 
-* [#332](https://github.com/mgeisler/textwrap/pull/332): Add
-  `WordSeparator` trait to allow customizing how words are found in a
-  line of text. Until now, Textwrap would always assume that words are
-  separated by ASCII space characters. You can now customize this as
-  needed.
+- [#332](https://github.com/mgeisler/textwrap/pull/332): Add `WordSeparator`
+  trait to allow customizing how words are found in a line of text. Until now,
+  Textwrap would always assume that words are separated by ASCII space
+  characters. You can now customize this as needed.
 
-* [#313](https://github.com/mgeisler/textwrap/pull/313): Add support
-  for using the Unicode line breaking algorithm to find words. This is
-  done by adding a second implementation of the new `WordSeparator`
-  trait. The implementation uses the unicode-linebreak crate, which is
-  a new optional dependency.
+- [#313](https://github.com/mgeisler/textwrap/pull/313): Add support for using
+  the Unicode line breaking algorithm to find words. This is done by adding a
+  second implementation of the new `WordSeparator` trait. The implementation
+  uses the unicode-linebreak crate, which is a new optional dependency.
 
-  With this, Textwrap can be used with East-Asian languages such as
-  Chinese or Japanese where there are no spaces between words.
-  Breaking a long sequence of emojis is another example where line
-  breaks might be wanted even if there are no whitespace to be found.
-  Feedback would be appreciated for this feature.
-
+  With this, Textwrap can be used with East-Asian languages such as Chinese or
+  Japanese where there are no spaces between words. Breaking a long sequence of
+  emojis is another example where line breaks might be wanted even if there are
+  no whitespace to be found. Feedback would be appreciated for this feature.
 
 ### Indent
 
-* [#353](https://github.com/mgeisler/textwrap/pull/353): Trim trailing
+- [#353](https://github.com/mgeisler/textwrap/pull/353): Trim trailing
   whitespace from `prefix` in `indent`.
 
-  Before, empty lines would get no prefix added. Now, empty lines have
-  a trimmed prefix added. This little trick makes `indent` much more
-  useful since you can now safely indent with `"# "` without creating
-  trailing whitespace in the output due to the trailing whitespace in
-  your prefix.
+  Before, empty lines would get no prefix added. Now, empty lines have a trimmed
+  prefix added. This little trick makes `indent` much more useful since you can
+  now safely indent with `"# "` without creating trailing whitespace in the
+  output due to the trailing whitespace in your prefix.
 
-* [#354](https://github.com/mgeisler/textwrap/pull/354): Make `indent`
-  about 20% faster by preallocating the output string.
-
+- [#354](https://github.com/mgeisler/textwrap/pull/354): Make `indent` about 20%
+  faster by preallocating the output string.
 
 ### Documentation
 
-* [#308](https://github.com/mgeisler/textwrap/pull/308): Document
-  handling of leading and trailing whitespace when wrapping text.
+- [#308](https://github.com/mgeisler/textwrap/pull/308): Document handling of
+  leading and trailing whitespace when wrapping text.
 
 ### WebAssembly Demo
 
-* [#310](https://github.com/mgeisler/textwrap/pull/310): Thanks to
-  WebAssembly, you can now try out Textwrap directly in your browser.
-  Please try it out: https://mgeisler.github.io/textwrap/.
+- [#310](https://github.com/mgeisler/textwrap/pull/310): Thanks to WebAssembly,
+  you can now try out Textwrap directly in your browser. Please try it out:
+  https://mgeisler.github.io/textwrap/.
 
 ### New Generic Parameters
 
-* [#331](https://github.com/mgeisler/textwrap/pull/331): Remove outer
-  boxing from `Options`.
+- [#331](https://github.com/mgeisler/textwrap/pull/331): Remove outer boxing
+  from `Options`.
 
-* [#357](https://github.com/mgeisler/textwrap/pull/357): Replace
-  `core::WrapAlgorithm` enum with a `wrap_algorithms::WrapAlgorithm`
-  trait. This allows for arbitrary wrapping algorithms to be plugged
-  into the library.
+- [#357](https://github.com/mgeisler/textwrap/pull/357): Replace
+  `core::WrapAlgorithm` enum with a `wrap_algorithms::WrapAlgorithm` trait. This
+  allows for arbitrary wrapping algorithms to be plugged into the library.
 
-* [#358](https://github.com/mgeisler/textwrap/pull/358): Switch
-  wrapping functions to use a slice for `line_widths`.
+- [#358](https://github.com/mgeisler/textwrap/pull/358): Switch wrapping
+  functions to use a slice for `line_widths`.
 
-* [#368](https://github.com/mgeisler/textwrap/pull/368): Move
-  `WordSeparator` and `WordSplitter` traits to separate modules.
-  Before, Textwrap had several top-level structs such as
-  `NoHyphenation` and `HyphenSplitter`. These implementations of
-  `WordSplitter` now lives in a dedicated `word_splitters` module.
-  Similarly, we have a new `word_separators` module for
-  implementations of `WordSeparator`.
+- [#368](https://github.com/mgeisler/textwrap/pull/368): Move `WordSeparator`
+  and `WordSplitter` traits to separate modules. Before, Textwrap had several
+  top-level structs such as `NoHyphenation` and `HyphenSplitter`. These
+  implementations of `WordSplitter` now lives in a dedicated `word_splitters`
+  module. Similarly, we have a new `word_separators` module for implementations
+  of `WordSeparator`.
 
-* [#369](https://github.com/mgeisler/textwrap/pull/369): Rename
-  `Options::splitter` to `Options::word_splitter` for consistency with
-  the other fields backed by traits.
+- [#369](https://github.com/mgeisler/textwrap/pull/369): Rename
+  `Options::splitter` to `Options::word_splitter` for consistency with the other
+  fields backed by traits.
 
 ## Version 0.13.4 (2021-02-23)
 
-This release removes `println!` statements which was left behind in
-`unfill` by mistake.
+This release removes `println!` statements which was left behind in `unfill` by
+mistake.
 
-* [#296](https://github.com/mgeisler/textwrap/pull/296): Improve house
-  building example with more comments.
-* [#297](https://github.com/mgeisler/textwrap/pull/297): Remove debug
-  prints in the new `unfill` function.
+- [#296](https://github.com/mgeisler/textwrap/pull/296): Improve house building
+  example with more comments.
+- [#297](https://github.com/mgeisler/textwrap/pull/297): Remove debug prints in
+  the new `unfill` function.
 
 ## Version 0.13.3 (2021-02-20)
 
-This release contains a bugfix for `indent` and improved handling of
-emojis. We’ve also added a new function for formatting text in columns
-and functions for reformatting already wrapped text.
+This release contains a bugfix for `indent` and improved handling of emojis.
+We’ve also added a new function for formatting text in columns and functions for
+reformatting already wrapped text.
 
-* [#276](https://github.com/mgeisler/textwrap/pull/276): Extend
-  `core::display_width` to handle emojis when the unicode-width Cargo
-  feature is disabled.
-* [#279](https://github.com/mgeisler/textwrap/pull/279): Make `indent`
-  preserve existing newlines in the input string. Before,
-  `indent("foo", "")` would return `"foo\n"` by mistake. It now
-  returns `"foo"` instead.
-* [#281](https://github.com/mgeisler/textwrap/pull/281): Ensure all
-  `Options` fields have examples.
-* [#282](https://github.com/mgeisler/textwrap/pull/282): Add a
-  `wrap_columns` function.
-* [#294](https://github.com/mgeisler/textwrap/pull/294): Add new
-  `unfill` and `refill` functions.
+- [#276](https://github.com/mgeisler/textwrap/pull/276): Extend
+  `core::display_width` to handle emojis when the unicode-width Cargo feature is
+  disabled.
+- [#279](https://github.com/mgeisler/textwrap/pull/279): Make `indent` preserve
+  existing newlines in the input string. Before, `indent("foo", "")` would
+  return `"foo\n"` by mistake. It now returns `"foo"` instead.
+- [#281](https://github.com/mgeisler/textwrap/pull/281): Ensure all `Options`
+  fields have examples.
+- [#282](https://github.com/mgeisler/textwrap/pull/282): Add a `wrap_columns`
+  function.
+- [#294](https://github.com/mgeisler/textwrap/pull/294): Add new `unfill` and
+  `refill` functions.
 
 ## Version 0.13.2 (2020-12-30)
 
-This release primarily makes all dependencies optional. This makes it
-possible to slim down textwrap as needed.
+This release primarily makes all dependencies optional. This makes it possible
+to slim down textwrap as needed.
 
-* [#254](https://github.com/mgeisler/textwrap/pull/254): `impl
-  WordSplitter` for `Box<T> where T: WordSplitter`.
-* [#255](https://github.com/mgeisler/textwrap/pull/255): Use command
-  line arguments as initial text in interactive example.
-* [#256](https://github.com/mgeisler/textwrap/pull/256): Introduce
-  fuzz tests for `wrap_optimal_fit` and `wrap_first_fit`.
-* [#260](https://github.com/mgeisler/textwrap/pull/260): Make the
-  unicode-width dependency optional.
-* [#261](https://github.com/mgeisler/textwrap/pull/261): Make the
-  smawk dependency optional.
+- [#254](https://github.com/mgeisler/textwrap/pull/254): `impl WordSplitter` for
+  `Box<T> where T: WordSplitter`.
+- [#255](https://github.com/mgeisler/textwrap/pull/255): Use command line
+  arguments as initial text in interactive example.
+- [#256](https://github.com/mgeisler/textwrap/pull/256): Introduce fuzz tests
+  for `wrap_optimal_fit` and `wrap_first_fit`.
+- [#260](https://github.com/mgeisler/textwrap/pull/260): Make the unicode-width
+  dependency optional.
+- [#261](https://github.com/mgeisler/textwrap/pull/261): Make the smawk
+  dependency optional.
 
 ## Version 0.13.1 (2020-12-10)
 
-This is a bugfix release which fixes a regression in 0.13.0. The bug
-meant that colored text was wrapped incorrectly.
+This is a bugfix release which fixes a regression in 0.13.0. The bug meant that
+colored text was wrapped incorrectly.
 
-* [#245](https://github.com/mgeisler/textwrap/pull/245): Support
-  deleting a word with Ctrl-Backspace in the interactive demo.
-* [#246](https://github.com/mgeisler/textwrap/pull/246): Show build
-  type (debug/release) in interactive demo.
-* [#249](https://github.com/mgeisler/textwrap/pull/249): Correctly
-  compute width while skipping over ANSI escape sequences.
+- [#245](https://github.com/mgeisler/textwrap/pull/245): Support deleting a word
+  with Ctrl-Backspace in the interactive demo.
+- [#246](https://github.com/mgeisler/textwrap/pull/246): Show build type
+  (debug/release) in interactive demo.
+- [#249](https://github.com/mgeisler/textwrap/pull/249): Correctly compute width
+  while skipping over ANSI escape sequences.
 
 ## Version 0.13.0 (2020-12-05)
 
-This is a major release which rewrites the core logic, adds many new
-features, and fixes a couple of bugs. Most programs which use
-`textwrap` stays the same, incompatibilities and upgrade notes are
-given below.
+This is a major release which rewrites the core logic, adds many new features,
+and fixes a couple of bugs. Most programs which use `textwrap` stays the same,
+incompatibilities and upgrade notes are given below.
 
-Clone the repository and run the following to explore the new features
-in an interactive demo (Linux only):
+Clone the repository and run the following to explore the new features in an
+interactive demo (Linux only):
 
 ```sh
 $ cargo run --example interactive --all-features
@@ -302,28 +301,27 @@
 
 #### Rewritten core wrapping algorithm
 
-* [#221](https://github.com/mgeisler/textwrap/pull/221): Reformulate
-  wrapping in terms of words with whitespace and penalties.
+- [#221](https://github.com/mgeisler/textwrap/pull/221): Reformulate wrapping in
+  terms of words with whitespace and penalties.
 
-The core wrapping algorithm has been completely rewritten. This fixed
-bugs and simplified the code, while also making it possible to use
-`textwrap` outside the context of the terminal.
+The core wrapping algorithm has been completely rewritten. This fixed bugs and
+simplified the code, while also making it possible to use `textwrap` outside the
+context of the terminal.
 
-As part of this, trailing whitespace is now discarded consistently
-from wrapped lines. Before we would inconsistently remove whitespace
-at the end of wrapped lines, except for the last. Leading whitespace
-is still preserved.
+As part of this, trailing whitespace is now discarded consistently from wrapped
+lines. Before we would inconsistently remove whitespace at the end of wrapped
+lines, except for the last. Leading whitespace is still preserved.
 
 ### New Features
 
 #### Optimal-fit wrapping
 
-* [#234](https://github.com/mgeisler/textwrap/pull/234): Introduce
-  wrapping using an optimal-fit algorithm.
+- [#234](https://github.com/mgeisler/textwrap/pull/234): Introduce wrapping
+  using an optimal-fit algorithm.
 
-This release adds support for new wrapping algorithm which finds a
-globally optimal set of line breaks, taking certain penalties into
-account. As an example, the old algorithm would produce
+This release adds support for new wrapping algorithm which finds a globally
+optimal set of line breaks, taking certain penalties into account. As an
+example, the old algorithm would produce
 
     "To be, or"
     "not to be:"
@@ -331,8 +329,8 @@
     "the"
     "question"
 
-Notice how the fourth line with “the” is very short. The new algorithm
-shortens the previous lines slightly to produce fewer short lines:
+Notice how the fourth line with “the” is very short. The new algorithm shortens
+the previous lines slightly to produce fewer short lines:
 
     "To be,"
     "or not to"
@@ -340,21 +338,21 @@
     "is the"
     "question"
 
-Use the new `textwrap::core::WrapAlgorithm` enum to select between the
-new and old algorithm. By default, the new algorithm is used.
+Use the new `textwrap::core::WrapAlgorithm` enum to select between the new and
+old algorithm. By default, the new algorithm is used.
 
-The optimal-fit algorithm is inspired by the line breaking algorithm
-used in TeX, described in the 1981 article [_Breaking Paragraphs into
-Lines_](http://www.eprg.org/G53DOC/pdfs/knuth-plass-breaking.pdf) by
-Knuth and Plass.
+The optimal-fit algorithm is inspired by the line breaking algorithm used in
+TeX, described in the 1981 article
+[_Breaking Paragraphs into Lines_](http://www.eprg.org/G53DOC/pdfs/knuth-plass-breaking.pdf)
+by Knuth and Plass.
 
 #### In-place wrapping
 
-* [#226](https://github.com/mgeisler/textwrap/pull/226): Add a
-  `fill_inplace` function.
+- [#226](https://github.com/mgeisler/textwrap/pull/226): Add a `fill_inplace`
+  function.
 
-When the text you want to fill is already a temporary `String`, you
-can now mutate it in-place with `fill_inplace`:
+When the text you want to fill is already a temporary `String`, you can now
+mutate it in-place with `fill_inplace`:
 
 ```rust
 let mut greeting = format!("Greetings {}, welcome to the game! You have {} lives left.",
@@ -362,31 +360,30 @@
 fill_inplace(&mut greeting, line_width);
 ```
 
-This is faster than calling `fill` and it will reuse the memory
-already allocated for the string.
+This is faster than calling `fill` and it will reuse the memory already
+allocated for the string.
 
 ### Changed Features
 
 #### `Wrapper` is replaced with `Options`
 
-* [#213](https://github.com/mgeisler/textwrap/pull/213): Simplify API
-  with only top-level functions.
-* [#215](https://github.com/mgeisler/textwrap/pull/215): Reintroducing
-  the type parameter on `Options` (previously known as `Wrapper`).
-* [#219](https://github.com/mgeisler/textwrap/pull/219): Allow using
-  trait objects with `fill` & `wrap`.
-* [#227](https://github.com/mgeisler/textwrap/pull/227): Replace
-  `WrapOptions` with `Into<Options>`.
+- [#213](https://github.com/mgeisler/textwrap/pull/213): Simplify API with only
+  top-level functions.
+- [#215](https://github.com/mgeisler/textwrap/pull/215): Reintroducing the type
+  parameter on `Options` (previously known as `Wrapper`).
+- [#219](https://github.com/mgeisler/textwrap/pull/219): Allow using trait
+  objects with `fill` & `wrap`.
+- [#227](https://github.com/mgeisler/textwrap/pull/227): Replace `WrapOptions`
+  with `Into<Options>`.
 
-The `Wrapper` struct held the options (line width, indentation, etc)
-for wrapping text. It was also the entry point for actually wrapping
-the text via its methods such as `wrap`, `wrap_iter`,
-`into_wrap_iter`, and `fill` methods.
+The `Wrapper` struct held the options (line width, indentation, etc) for
+wrapping text. It was also the entry point for actually wrapping the text via
+its methods such as `wrap`, `wrap_iter`, `into_wrap_iter`, and `fill` methods.
 
-The struct has been replaced by a simpler `Options` struct which only
-holds options. The `Wrapper` methods are gone, their job has been
-taken over by the top-level `wrap` and `fill` functions. The signature
-of these functions have changed from
+The struct has been replaced by a simpler `Options` struct which only holds
+options. The `Wrapper` methods are gone, their job has been taken over by the
+top-level `wrap` and `fill` functions. The signature of these functions have
+changed from
 
 ```rust
 fn fill(s: &str, width: usize) -> String;
@@ -408,172 +405,170 @@
     Opt: Into<Options<'a, S>>;
 ```
 
-The `Into<Options<'a, S>` bound allows you to pass an `usize` (which
-is interpreted as the line width) *and* a full `Options` object. This
-allows the new functions to work like the old, plus you can now fully
-customize the behavior of the wrapping via `Options` when needed.
+The `Into<Options<'a, S>` bound allows you to pass an `usize` (which is
+interpreted as the line width) _and_ a full `Options` object. This allows the
+new functions to work like the old, plus you can now fully customize the
+behavior of the wrapping via `Options` when needed.
 
-Code that call `textwrap::wrap` or `textwrap::fill` can remain
-unchanged. Code that calls into `Wrapper::wrap` or `Wrapper::fill`
-will need to be update. This is a mechanical change, please see
+Code that call `textwrap::wrap` or `textwrap::fill` can remain unchanged. Code
+that calls into `Wrapper::wrap` or `Wrapper::fill` will need to be update. This
+is a mechanical change, please see
 [#213](https://github.com/mgeisler/textwrap/pull/213) for examples.
 
 Thanks to @CryptJar and @Koxiat for their support in the PRs above!
 
 ### Removed Features
 
-* The `wrap_iter` and `into_wrap_iter` methods are gone. This means
-  that lazy iteration is no longer supported: you always get all
-  wrapped lines back as a `Vec`. This was done to simplify the code
-  and to support the optimal-fit algorithm.
+- The `wrap_iter` and `into_wrap_iter` methods are gone. This means that lazy
+  iteration is no longer supported: you always get all wrapped lines back as a
+  `Vec`. This was done to simplify the code and to support the optimal-fit
+  algorithm.
 
-  The first-fit algorithm could still be implemented in an incremental
-  fashion. Please let us know if this is important to you.
+  The first-fit algorithm could still be implemented in an incremental fashion.
+  Please let us know if this is important to you.
 
 ### Other Changes
 
-* [#206](https://github.com/mgeisler/textwrap/pull/206): Change
-  `Wrapper.splitter` from `T: WordSplitter` to `Box<dyn
-  WordSplitter>`.
-* [#216](https://github.com/mgeisler/textwrap/pull/216): Forbid the
-  use of unsafe code.
+- [#206](https://github.com/mgeisler/textwrap/pull/206): Change
+  `Wrapper.splitter` from `T: WordSplitter` to `Box<dyn WordSplitter>`.
+- [#216](https://github.com/mgeisler/textwrap/pull/216): Forbid the use of
+  unsafe code.
 
 ## Version 0.12.1 (2020-07-03)
 
 This is a bugfix release.
 
-* Fixed [#176][issue-176]: Mention compile-time wrapping by linking to
-  the [`textwrap-macros` crate].
-* Fixed [#193][issue-193]: Wrapping with `break_words(false)` was
-  broken and would cause extra whitespace to be inserted when words
-  were longer than the line width.
+- Fixed [#176][issue-176]: Mention compile-time wrapping by linking to the
+  [`textwrap-macros` crate].
+- Fixed [#193][issue-193]: Wrapping with `break_words(false)` was broken and
+  would cause extra whitespace to be inserted when words were longer than the
+  line width.
 
 ## Version 0.12.0 (2020-06-26)
 
-The code has been updated to the [Rust 2018 edition][rust-2018] and
-each new release of `textwrap` will only support the latest stable
-version of Rust. Trying to support older Rust versions is a fool's
-errand: our dependencies keep releasing new patch versions that
-require newer and newer versions of Rust.
+The code has been updated to the [Rust 2018 edition][rust-2018] and each new
+release of `textwrap` will only support the latest stable version of Rust.
+Trying to support older Rust versions is a fool's errand: our dependencies keep
+releasing new patch versions that require newer and newer versions of Rust.
 
-The `term_size` feature has been replaced by `terminal_size`. The API
-is unchanged, it is just the name of the Cargo feature that changed.
+The `term_size` feature has been replaced by `terminal_size`. The API is
+unchanged, it is just the name of the Cargo feature that changed.
 
 The `hyphenation` feature now only embeds the hyphenation patterns for
 US-English. This slims down the dependency.
 
-* Fixed [#140][issue-140]: Ignore ANSI escape sequences.
-* Fixed [#158][issue-158]: Unintended wrapping when using external splitter.
-* Fixed [#177][issue-177]: Update examples to the 2018 edition.
+- Fixed [#140][issue-140]: Ignore ANSI escape sequences.
+- Fixed [#158][issue-158]: Unintended wrapping when using external splitter.
+- Fixed [#177][issue-177]: Update examples to the 2018 edition.
 
 ## Version 0.11.0 (2018-12-09)
 
-Due to our dependencies bumping their minimum supported version of
-Rust, the minimum version of Rust we test against is now 1.22.0.
+Due to our dependencies bumping their minimum supported version of Rust, the
+minimum version of Rust we test against is now 1.22.0.
 
-* Merged [#141][issue-141]: Fix `dedent` handling of empty lines and
-  trailing newlines. Thanks @bbqsrc!
-* Fixed [#151][issue-151]: Release of version with hyphenation 0.7.
+- Merged [#141][issue-141]: Fix `dedent` handling of empty lines and trailing
+  newlines. Thanks @bbqsrc!
+- Fixed [#151][issue-151]: Release of version with hyphenation 0.7.
 
 ## Version 0.10.0 (2018-04-28)
 
-Due to our dependencies bumping their minimum supported version of
-Rust, the minimum version of Rust we test against is now 1.17.0.
+Due to our dependencies bumping their minimum supported version of Rust, the
+minimum version of Rust we test against is now 1.17.0.
 
-* Fixed [#99][issue-99]: Word broken even though it would fit on line.
-* Fixed [#107][issue-107]: Automatic hyphenation is off by one.
-* Fixed [#122][issue-122]: Take newlines into account when wrapping.
-* Fixed [#129][issue-129]: Panic on string with em-dash.
+- Fixed [#99][issue-99]: Word broken even though it would fit on line.
+- Fixed [#107][issue-107]: Automatic hyphenation is off by one.
+- Fixed [#122][issue-122]: Take newlines into account when wrapping.
+- Fixed [#129][issue-129]: Panic on string with em-dash.
 
 ## Version 0.9.0 (2017-10-05)
 
-The dependency on `term_size` is now optional, and by default this
-feature is not enabled. This is a *breaking change* for users of
-`Wrapper::with_termwidth`. Enable the `term_size` feature to restore
-the old functionality.
+The dependency on `term_size` is now optional, and by default this feature is
+not enabled. This is a _breaking change_ for users of `Wrapper::with_termwidth`.
+Enable the `term_size` feature to restore the old functionality.
 
-Added a regression test for the case where `width` is set to
-`usize::MAX`, thanks @Fraser999! All public structs now implement
-`Debug`, thanks @hcpl!
+Added a regression test for the case where `width` is set to `usize::MAX`,
+thanks @Fraser999! All public structs now implement `Debug`, thanks @hcpl!
 
-* Fixed [#101][issue-101]: Make `term_size` an optional dependency.
+- Fixed [#101][issue-101]: Make `term_size` an optional dependency.
 
 ## Version 0.8.0 (2017-09-04)
 
-The `Wrapper` struct is now generic over the type of word splitter
-being used. This means less boxing and a nicer API. The
-`Wrapper::word_splitter` method has been removed. This is a *breaking
-API change* if you used the method to change the word splitter.
+The `Wrapper` struct is now generic over the type of word splitter being used.
+This means less boxing and a nicer API. The `Wrapper::word_splitter` method has
+been removed. This is a _breaking API change_ if you used the method to change
+the word splitter.
 
-The `Wrapper` struct has two new methods that will wrap the input text
-lazily: `Wrapper::wrap_iter` and `Wrapper::into_wrap_iter`. Use those
-if you will be iterating over the wrapped lines one by one.
+The `Wrapper` struct has two new methods that will wrap the input text lazily:
+`Wrapper::wrap_iter` and `Wrapper::into_wrap_iter`. Use those if you will be
+iterating over the wrapped lines one by one.
 
-* Fixed [#59][issue-59]: `wrap` could return an iterator. Thanks
-  @hcpl!
-* Fixed [#81][issue-81]: Set `html_root_url`.
+- Fixed [#59][issue-59]: `wrap` could return an iterator. Thanks @hcpl!
+- Fixed [#81][issue-81]: Set `html_root_url`.
 
 ## Version 0.7.0 (2017-07-20)
 
-Version 0.7.0 changes the return type of `Wrapper::wrap` from
-`Vec<String>` to `Vec<Cow<'a, str>>`. This means that the output lines
-borrow data from the input string. This is a *breaking API change* if
-you relied on the exact return type of `Wrapper::wrap`. Callers of the
-`textwrap::fill` convenience function will see no breakage.
+Version 0.7.0 changes the return type of `Wrapper::wrap` from `Vec<String>` to
+`Vec<Cow<'a, str>>`. This means that the output lines borrow data from the input
+string. This is a _breaking API change_ if you relied on the exact return type
+of `Wrapper::wrap`. Callers of the `textwrap::fill` convenience function will
+see no breakage.
 
-The above change and other optimizations makes version 0.7.0 roughly
-15-30% faster than version 0.6.0.
+The above change and other optimizations makes version 0.7.0 roughly 15-30%
+faster than version 0.6.0.
 
-The `squeeze_whitespace` option has been removed since it was
-complicating the above optimization. Let us know if this option is
-important for you so we can provide a work around.
+The `squeeze_whitespace` option has been removed since it was complicating the
+above optimization. Let us know if this option is important for you so we can
+provide a work around.
 
-* Fixed [#58][issue-58]: Add a "fast_wrap" function.
-* Fixed [#61][issue-61]: Documentation errors.
+- Fixed [#58][issue-58]: Add a "fast_wrap" function.
+- Fixed [#61][issue-61]: Documentation errors.
 
 ## Version 0.6.0 (2017-05-22)
 
-Version 0.6.0 adds builder methods to `Wrapper` for easy one-line
-initialization and configuration:
+Version 0.6.0 adds builder methods to `Wrapper` for easy one-line initialization
+and configuration:
 
 ```rust
 let wrapper = Wrapper::new(60).break_words(false);
 ```
 
-It also add a new `NoHyphenation` word splitter that will never split
-words, not even at existing hyphens.
+It also add a new `NoHyphenation` word splitter that will never split words, not
+even at existing hyphens.
 
-* Fixed [#28][issue-28]: Support not squeezing whitespace.
+- Fixed [#28][issue-28]: Support not squeezing whitespace.
 
 ## Version 0.5.0 (2017-05-15)
 
-Version 0.5.0 has *breaking API changes*. However, this only affects
-code using the hyphenation feature. The feature is now optional, so
-you will first need to enable the `hyphenation` feature as described
-above. Afterwards, please change your code from
+Version 0.5.0 has _breaking API changes_. However, this only affects code using
+the hyphenation feature. The feature is now optional, so you will first need to
+enable the `hyphenation` feature as described above. Afterwards, please change
+your code from
+
 ```rust
 wrapper.corpus = Some(&corpus);
 ```
+
 to
+
 ```rust
 wrapper.splitter = Box::new(corpus);
 ```
 
-Other changes include optimizations, so version 0.5.0 is roughly
-10-15% faster than version 0.4.0.
+Other changes include optimizations, so version 0.5.0 is roughly 10-15% faster
+than version 0.4.0.
 
-* Fixed [#19][issue-19]: Add support for finding terminal size.
-* Fixed [#25][issue-25]: Handle words longer than `self.width`.
-* Fixed [#26][issue-26]: Support custom indentation.
-* Fixed [#36][issue-36]: Support building without `hyphenation`.
-* Fixed [#39][issue-39]: Respect non-breaking spaces.
+- Fixed [#19][issue-19]: Add support for finding terminal size.
+- Fixed [#25][issue-25]: Handle words longer than `self.width`.
+- Fixed [#26][issue-26]: Support custom indentation.
+- Fixed [#36][issue-36]: Support building without `hyphenation`.
+- Fixed [#39][issue-39]: Respect non-breaking spaces.
 
 ## Version 0.4.0 (2017-01-24)
 
 Documented complexities and tested these via `cargo bench`.
 
-* Fixed [#13][issue-13]: Immediatedly add word if it fits.
-* Fixed [#14][issue-14]: Avoid splitting on initial hyphens.
+- Fixed [#13][issue-13]: Immediately add word if it fits.
+- Fixed [#14][issue-14]: Avoid splitting on initial hyphens.
 
 ## Version 0.3.0 (2017-01-07)
 
@@ -589,7 +584,6 @@
 
 [rust-2018]: https://doc.rust-lang.org/edition-guide/rust-2018/
 [`textwrap-macros` crate]: https://crates.io/crates/textwrap-macros
-
 [issue-13]: https://github.com/mgeisler/textwrap/issues/13
 [issue-14]: https://github.com/mgeisler/textwrap/issues/14
 [issue-19]: https://github.com/mgeisler/textwrap/issues/19
diff --git a/crates/textwrap/Cargo.lock b/crates/textwrap/Cargo.lock
deleted file mode 100644
index 98b6420..0000000
--- a/crates/textwrap/Cargo.lock
+++ /dev/null
@@ -1,657 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "aho-corasick"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "bincode"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
-
-[[package]]
-name = "equivalent"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-
-[[package]]
-name = "errno"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
-dependencies = [
- "libc",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "form_urlencoded"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
-dependencies = [
- "percent-encoding",
-]
-
-[[package]]
-name = "fst"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab85b9b05e3978cc9a9cf8fea7f01b494e1a09ed3037e16ba39edc7a29eb61a"
-
-[[package]]
-name = "hashbrown"
-version = "0.14.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd"
-
-[[package]]
-name = "hyphenation"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcf4dd4c44ae85155502a52c48739c8a48185d1449fff1963cffee63c28a50f0"
-dependencies = [
- "bincode",
- "fst",
- "hyphenation_commons",
- "pocket-resources",
- "serde",
-]
-
-[[package]]
-name = "hyphenation_commons"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5febe7a2ade5c7d98eb8b75f946c046b335324b06a14ea0998271504134c05bf"
-dependencies = [
- "fst",
- "serde",
-]
-
-[[package]]
-name = "idna"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
-dependencies = [
- "equivalent",
- "hashbrown",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "libc"
-version = "0.2.153"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
-
-[[package]]
-name = "libredox"
-version = "0.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
-dependencies = [
- "bitflags 2.4.2",
- "libc",
- "redox_syscall",
-]
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
-
-[[package]]
-name = "memchr"
-version = "2.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
-
-[[package]]
-name = "numtoa"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
-
-[[package]]
-name = "percent-encoding"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
-
-[[package]]
-name = "pocket-resources"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c135f38778ad324d9e9ee68690bac2c1a51f340fdf96ca13e2ab3914eb2e51d8"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.78"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "pulldown-cmark"
-version = "0.9.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b"
-dependencies = [
- "bitflags 2.4.2",
- "memchr",
- "unicase",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_termios"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb"
-
-[[package]]
-name = "regex"
-version = "1.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
-
-[[package]]
-name = "rustix"
-version = "0.37.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
-dependencies = [
- "bitflags 1.3.2",
- "errno",
- "io-lifetimes",
- "libc",
- "linux-raw-sys",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "semver"
-version = "1.0.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
-
-[[package]]
-name = "serde"
-version = "1.0.196"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.196"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_spanned"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "smawk"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
-
-[[package]]
-name = "syn"
-version = "2.0.49"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "915aea9e586f80826ee59f8453c1101f9d1c4b3964cd2460185ee8e299ada496"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "terminal_size"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
-dependencies = [
- "rustix",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "termion"
-version = "2.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4648c7def6f2043b2568617b9f9b75eae88ca185dbc1f1fda30e95a85d49d7d"
-dependencies = [
- "libc",
- "libredox",
- "numtoa",
- "redox_termios",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.16.1"
-dependencies = [
- "hyphenation",
- "smawk",
- "terminal_size",
- "termion",
- "unic-emoji-char",
- "unicode-linebreak",
- "unicode-width",
- "version-sync",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
-name = "toml"
-version = "0.7.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
-dependencies = [
- "serde",
- "serde_spanned",
- "toml_datetime",
- "toml_edit",
-]
-
-[[package]]
-name = "toml_datetime"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml_edit"
-version = "0.19.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
-dependencies = [
- "indexmap",
- "serde",
- "serde_spanned",
- "toml_datetime",
- "winnow",
-]
-
-[[package]]
-name = "unic-char-property"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221"
-dependencies = [
- "unic-char-range",
-]
-
-[[package]]
-name = "unic-char-range"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc"
-
-[[package]]
-name = "unic-common"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc"
-
-[[package]]
-name = "unic-emoji-char"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b07221e68897210270a38bde4babb655869637af0f69407f96053a34f76494d"
-dependencies = [
- "unic-char-property",
- "unic-char-range",
- "unic-ucd-version",
-]
-
-[[package]]
-name = "unic-ucd-version"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4"
-dependencies = [
- "unic-common",
-]
-
-[[package]]
-name = "unicase"
-version = "2.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
-dependencies = [
- "version_check",
-]
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
-
-[[package]]
-name = "unicode-linebreak"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "unicode-width"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
-
-[[package]]
-name = "url"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
-dependencies = [
- "form_urlencoded",
- "idna",
- "percent-encoding",
-]
-
-[[package]]
-name = "version-sync"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "835169da0173ea373ddf5987632aac1f918967fbbe58195e304342282efa6089"
-dependencies = [
- "proc-macro2",
- "pulldown-cmark",
- "regex",
- "semver",
- "syn",
- "toml",
- "url",
-]
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets 0.52.0",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
-
-[[package]]
-name = "winnow"
-version = "0.5.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
-dependencies = [
- "memchr",
-]
diff --git a/crates/textwrap/Cargo.toml b/crates/textwrap/Cargo.toml
index 1493f0a..71f7601 100644
--- a/crates/textwrap/Cargo.toml
+++ b/crates/textwrap/Cargo.toml
@@ -11,10 +11,11 @@
 
 [package]
 edition = "2021"
-rust-version = "1.56"
+rust-version = "1.70"
 name = "textwrap"
-version = "0.16.1"
+version = "0.16.2"
 authors = ["Martin Geisler <martin@geisler.net>"]
+build = false
 exclude = [
     ".github/",
     ".gitignore",
@@ -23,6 +24,11 @@
     "fuzz/",
     "images/",
 ]
+autolib = false
+autobins = false
+autoexamples = false
+autotests = false
+autobenches = false
 description = "Library for word wrapping, indenting, and dedenting strings. Has optional support for Unicode and emojis as well as machine hyphenation."
 documentation = "https://docs.rs/textwrap/"
 readme = "README.md"
@@ -43,43 +49,6 @@
 [package.metadata.docs.rs]
 all-features = true
 
-[[example]]
-name = "hyphenation"
-path = "examples/hyphenation.rs"
-required-features = ["hyphenation"]
-
-[[example]]
-name = "termwidth"
-path = "examples/termwidth.rs"
-required-features = ["terminal_size"]
-
-[dependencies.hyphenation]
-version = "0.8.4"
-features = ["embed_en-us"]
-optional = true
-
-[dependencies.smawk]
-version = "0.3.1"
-optional = true
-
-[dependencies.terminal_size]
-version = "0.2.1"
-optional = true
-
-[dependencies.unicode-linebreak]
-version = "0.1.4"
-optional = true
-
-[dependencies.unicode-width]
-version = "0.1.10"
-optional = true
-
-[dev-dependencies.unic-emoji-char]
-version = "0.9.0"
-
-[dev-dependencies.version-sync]
-version = "0.9.4"
-
 [features]
 default = [
     "unicode-linebreak",
@@ -87,5 +56,49 @@
     "smawk",
 ]
 
+[lib]
+name = "textwrap"
+path = "src/lib.rs"
+
+[[test]]
+name = "indent"
+path = "tests/indent.rs"
+
+[[test]]
+name = "version-numbers"
+path = "tests/version-numbers.rs"
+
+[dependencies.hyphenation]
+version = "0.8.4"
+features = ["embed_en-us"]
+optional = true
+
+[dependencies.smawk]
+version = "0.3.2"
+optional = true
+
+[dependencies.terminal_size]
+version = "0.4.0"
+optional = true
+
+[dependencies.unicode-linebreak]
+version = "0.1.5"
+optional = true
+
+[dependencies.unicode-width]
+version = "0.2.0"
+optional = true
+
+[dev-dependencies.unic-emoji-char]
+version = "0.9.0"
+
+[dev-dependencies.version-sync]
+version = "0.9.5"
+
 [target."cfg(unix)".dev-dependencies.termion]
-version = "2.0.1"
+version = "4.0.2"
+
+[lints.rust.unexpected_cfgs]
+level = "warn"
+priority = 0
+check-cfg = ["cfg(fuzzing)"]
diff --git a/crates/textwrap/METADATA b/crates/textwrap/METADATA
index 67197f4..9f9ad31 100644
--- a/crates/textwrap/METADATA
+++ b/crates/textwrap/METADATA
@@ -1,17 +1,17 @@
 name: "textwrap"
 description: "Library for word wrapping, indenting, and dedenting strings. Has optional support for Unicode and emojis as well as machine hyphenation."
 third_party {
-  version: "0.16.1"
+  version: "0.16.2"
   license_type: NOTICE
   last_upgrade_date {
-    year: 2024
-    month: 12
-    day: 20
+    year: 2025
+    month: 3
+    day: 6
   }
   homepage: "https://crates.io/crates/textwrap"
   identifier {
     type: "Archive"
-    value: "https://static.crates.io/crates/textwrap/textwrap-0.16.1.crate"
-    version: "0.16.1"
+    value: "https://static.crates.io/crates/textwrap/textwrap-0.16.2.crate"
+    version: "0.16.2"
   }
 }
diff --git a/crates/textwrap/README.md b/crates/textwrap/README.md
index bf13cd0..7141683 100644
--- a/crates/textwrap/README.md
+++ b/crates/textwrap/README.md
@@ -5,30 +5,30 @@
 [![](https://img.shields.io/crates/v/textwrap.svg)][crates-io]
 [![](https://docs.rs/textwrap/badge.svg)][api-docs]
 
-Textwrap is a library for wrapping and indenting text. It is most
-often used by command-line programs to format dynamic output nicely so
-it looks good in a terminal. You can also use Textwrap to wrap text
-set in a proportional font—such as text used to generate PDF files, or
-drawn on a [HTML5 canvas using WebAssembly][wasm-demo].
+Textwrap is a library for wrapping and indenting text. It is most often used by
+command-line programs to format dynamic output nicely so it looks good in a
+terminal. You can also use Textwrap to wrap text set in a proportional font—such
+as text used to generate PDF files, or drawn on a
+[HTML5 canvas using WebAssembly][wasm-demo].
 
 ## Usage
 
 To use the textwrap crate, add this to your `Cargo.toml` file:
+
 ```toml
 [dependencies]
 textwrap = "0.16"
 ```
 
-By default, this enables word wrapping with support for Unicode
-strings. Extra features can be enabled with Cargo features—and the
-Unicode support can be disabled if needed. This allows you slim down
-the library and so you will only pay for the features you actually
-use.
+By default, this enables word wrapping with support for Unicode strings. Extra
+features can be enabled with Cargo features—and the Unicode support can be
+disabled if needed. This allows you slim down the library and so you will only
+pay for the features you actually use.
 
-Please see the [_Cargo Features_ in the crate
-documentation](https://docs.rs/textwrap/#cargo-features) for a full
-list of the available features as well as their impact on the size of
-your binary.
+Please see the
+[_Cargo Features_ in the crate
+documentation](https://docs.rs/textwrap/#cargo-features) for a full list of the
+available features as well as their impact on the size of your binary.
 
 ## Documentation
 
@@ -52,18 +52,18 @@
 }
 ```
 
-Sharp-eyed readers will notice that the first line is 22 columns wide.
-So why is the word “and” put in the second line when there is space
-for it in the first line?
+Sharp-eyed readers will notice that the first line is 22 columns wide. So why is
+the word “and” put in the second line when there is space for it in the first
+line?
 
-The explanation is that textwrap does not just wrap text one line at a
-time. Instead, it uses an optimal-fit algorithm which looks ahead and
-chooses line breaks which minimize the gaps left at ends of lines.
-This is controlled with the `smawk` Cargo feature, which is why the
-example is wrapped in the `cfg`-block.
+The explanation is that textwrap does not just wrap text one line at a time.
+Instead, it uses an optimal-fit algorithm which looks ahead and chooses line
+breaks which minimize the gaps left at ends of lines. This is controlled with
+the `smawk` Cargo feature, which is why the example is wrapped in the
+`cfg`-block.
 
-Without look-ahead, the first line would be longer and the text would
-look like this:
+Without look-ahead, the first line would be longer and the text would look like
+this:
 
 ```rust
 #[cfg(not(feature = "smawk"))] {
@@ -79,12 +79,12 @@
 }
 ```
 
-The second line is now shorter and the text is more ragged. The kind
-of wrapping can be configured via `Options::wrap_algorithm`.
+The second line is now shorter and the text is more ragged. The kind of wrapping
+can be configured via `Options::wrap_algorithm`.
 
-If you enable the `hyphenation` Cargo feature, you get support for
-automatic hyphenation for [about 70 languages][patterns] via
-high-quality TeX hyphenation patterns.
+If you enable the `hyphenation` Cargo feature, you get support for automatic
+hyphenation for [about 70 languages][patterns] via high-quality TeX hyphenation
+patterns.
 
 Your program must load the hyphenation pattern and configure
 `Options::word_splitter` to use it:
@@ -110,35 +110,34 @@
 ```
 
 The US-English hyphenation patterns are embedded when you enable the
-`hyphenation` feature. They are licensed under a [permissive
-license][en-us license] and take up about 88 KB in your binary. If you
-need hyphenation for other languages, you need to download a
-[precompiled `.bincode` file][bincode] and load it yourself. Please
-see the [`hyphenation` documentation] for details.
+`hyphenation` feature. They are licensed under a
+[permissive license][en-us license] and take up about 88 KB in your binary. If
+you need hyphenation for other languages, you need to download a
+[precompiled `.bincode` file][bincode] and load it yourself. Please see the
+[`hyphenation` documentation] for details.
 
 ## Wrapping Strings at Compile Time
 
-If your strings are known at compile time, please take a look at the
-procedural macros from the [`textwrap-macros` crate].
+If your strings are known at compile time, please take a look at the procedural
+macros from the [`textwrap-macros` crate].
 
 ## Examples
 
-The library comes with [a
-collection](https://github.com/mgeisler/textwrap/tree/master/examples)
-of small example programs that shows various features.
+The library comes with
+[a collection](https://github.com/mgeisler/textwrap/tree/master/examples) of
+small example programs that shows various features.
 
 If you want to see Textwrap in action right away, then take a look at
-[`examples/wasm/`], which shows how to wrap sans-serif, serif, and
-monospace text. It uses WebAssembly and is automatically deployed to
+[`examples/wasm/`], which shows how to wrap sans-serif, serif, and monospace
+text. It uses WebAssembly and is automatically deployed to
 https://mgeisler.github.io/textwrap/.
 
-For the command-line examples, you’re invited to clone the repository
-and try them out for yourself! Of special note is
-[`examples/interactive.rs`]. This is a demo program which demonstrates
-most of the available features: you can enter text and adjust the
-width at which it is wrapped interactively. You can also adjust the
-`Options` used to see the effect of different `WordSplitter`s and wrap
-algorithms.
+For the command-line examples, you’re invited to clone the repository and try
+them out for yourself! Of special note is [`examples/interactive.rs`]. This is a
+demo program which demonstrates most of the available features: you can enter
+text and adjust the width at which it is wrapped interactively. You can also
+adjust the `Options` used to see the effect of different `WordSplitter`s and
+wrap algorithms.
 
 Run the demo with
 
@@ -150,13 +149,12 @@
 
 ## Release History
 
-Please see the [CHANGELOG file] for details on the changes made in
-each release.
+Please see the [CHANGELOG file] for details on the changes made in each release.
 
 ## License
 
-Textwrap can be distributed according to the [MIT license][mit].
-Contributions will be accepted under the same license.
+Textwrap can be distributed according to the [MIT license][mit]. Contributions
+will be accepted under the same license.
 
 [crates-io]: https://crates.io/crates/textwrap
 [build-status]: https://github.com/mgeisler/textwrap/actions?query=workflow%3Abuild+branch%3Amaster
diff --git a/crates/textwrap/dprint.json b/crates/textwrap/dprint.json
new file mode 100644
index 0000000..1b32b8f
--- /dev/null
+++ b/crates/textwrap/dprint.json
@@ -0,0 +1,19 @@
+{
+  "markdown": {
+    "textWrap": "always"
+  },
+  "exec": {
+    "commands": [{
+      "command": "rustfmt",
+      "exts": ["rs"]
+    }]
+  },
+  "excludes": ["target/", "package-lock.json"],
+  "plugins": [
+    "https://plugins.dprint.dev/json-0.20.0.wasm",
+    "https://plugins.dprint.dev/markdown-0.18.0.wasm",
+    "https://plugins.dprint.dev/toml-0.7.0.wasm",
+    "https://plugins.dprint.dev/exec-0.5.1.json@492414e39dea4dccc07b4af796d2f4efdb89e84bae2bd4e1e924c0cc050855bf",
+    "https://plugins.dprint.dev/prettier-0.57.0.json@1bc6b449e982d5b91a25a7c59894102d40c5748651a08a095fb3926e64d55a31"
+  ]
+}
diff --git a/crates/textwrap/src/core.rs b/crates/textwrap/src/core.rs
index 6b07f76..2ed441c 100644
--- a/crates/textwrap/src/core.rs
+++ b/crates/textwrap/src/core.rs
@@ -357,7 +357,7 @@
 {
     let mut shortened_words = Vec::new();
     for word in words {
-        if word.width() > line_width as f64 {
+        if word.width > line_width {
             shortened_words.extend(word.break_apart(line_width));
         } else {
             shortened_words.push(word);
diff --git a/crates/textwrap/src/lib.rs b/crates/textwrap/src/lib.rs
index 32611c0..85105f6 100644
--- a/crates/textwrap/src/lib.rs
+++ b/crates/textwrap/src/lib.rs
@@ -113,7 +113,7 @@
 //! The full dependency graph, where dashed lines indicate optional
 //! dependencies, is shown below:
 //!
-//! <img src="https://raw.githubusercontent.com/mgeisler/textwrap/master/images/textwrap-0.16.1.svg">
+//! <img src="https://raw.githubusercontent.com/mgeisler/textwrap/master/images/textwrap-0.16.2.svg">
 //!
 //! ## Default Features
 //!
@@ -193,7 +193,7 @@
 //! [terminal_size]: https://docs.rs/terminal_size/
 //! [hyphenation]: https://docs.rs/hyphenation/
 
-#![doc(html_root_url = "https://docs.rs/textwrap/0.16.1")]
+#![doc(html_root_url = "https://docs.rs/textwrap/0.16.2")]
 #![forbid(unsafe_code)] // See https://github.com/mgeisler/textwrap/issues/210
 #![deny(missing_docs)]
 #![deny(missing_debug_implementations)]
diff --git a/crates/textwrap/src/options.rs b/crates/textwrap/src/options.rs
index 80e420d..9aa24ba 100644
--- a/crates/textwrap/src/options.rs
+++ b/crates/textwrap/src/options.rs
@@ -47,7 +47,7 @@
     }
 }
 
-impl<'a> From<usize> for Options<'a> {
+impl From<usize> for Options<'_> {
     fn from(width: usize) -> Self {
         Options::new(width)
     }
diff --git a/crates/textwrap/src/word_separators.rs b/crates/textwrap/src/word_separators.rs
index e06e9b8..e49b1f4 100644
--- a/crates/textwrap/src/word_separators.rs
+++ b/crates/textwrap/src/word_separators.rs
@@ -38,7 +38,7 @@
 /// let words = AsciiSpace.find_words("Hello World!").collect::<Vec<_>>();
 /// assert_eq!(words, vec![Word::from("Hello "), Word::from("World!")]);
 /// ```
-#[derive(Clone, Copy)]
+#[derive(Debug, Clone, Copy)]
 pub enum WordSeparator {
     /// Find words by splitting on runs of `' '` characters.
     ///
@@ -156,17 +156,6 @@
     }
 }
 
-impl std::fmt::Debug for WordSeparator {
-    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
-        match self {
-            WordSeparator::AsciiSpace => f.write_str("AsciiSpace"),
-            #[cfg(feature = "unicode-linebreak")]
-            WordSeparator::UnicodeBreakProperties => f.write_str("UnicodeBreakProperties"),
-            WordSeparator::Custom(_) => f.write_str("Custom(...)"),
-        }
-    }
-}
-
 impl WordSeparator {
     /// Create a new word separator.
     ///
diff --git a/crates/textwrap/src/word_splitters.rs b/crates/textwrap/src/word_splitters.rs
index e2dc6aa..c2eeac4 100644
--- a/crates/textwrap/src/word_splitters.rs
+++ b/crates/textwrap/src/word_splitters.rs
@@ -33,7 +33,7 @@
 /// details.
 ///
 /// [hyphenation]: https://docs.rs/hyphenation/
-#[derive(Clone)]
+#[derive(Debug, Clone)]
 pub enum WordSplitter {
     /// Use this as a [`Options.word_splitter`] to avoid any kind of
     /// hyphenation:
@@ -98,18 +98,6 @@
     Hyphenation(hyphenation::Standard),
 }
 
-impl std::fmt::Debug for WordSplitter {
-    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
-        match self {
-            WordSplitter::NoHyphenation => f.write_str("NoHyphenation"),
-            WordSplitter::HyphenSplitter => f.write_str("HyphenSplitter"),
-            WordSplitter::Custom(_) => f.write_str("Custom(...)"),
-            #[cfg(feature = "hyphenation")]
-            WordSplitter::Hyphenation(dict) => write!(f, "Hyphenation({})", dict.language()),
-        }
-    }
-}
-
 impl PartialEq<WordSplitter> for WordSplitter {
     fn eq(&self, other: &WordSplitter) -> bool {
         match (self, other) {
diff --git a/crates/textwrap/src/wrap_algorithms.rs b/crates/textwrap/src/wrap_algorithms.rs
index 7737e08..f4a8de7 100644
--- a/crates/textwrap/src/wrap_algorithms.rs
+++ b/crates/textwrap/src/wrap_algorithms.rs
@@ -32,7 +32,7 @@
 /// enabled, a more complex algorithm is available which will look at
 /// an entire paragraph at a time in order to find optimal line breaks
 /// ([`WrapAlgorithm::OptimalFit`]).
-#[derive(Clone, Copy)]
+#[derive(Clone, Copy, Debug)]
 pub enum WrapAlgorithm {
     /// Wrap words using a fast and simple algorithm.
     ///
@@ -119,17 +119,6 @@
     }
 }
 
-impl std::fmt::Debug for WrapAlgorithm {
-    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
-        match self {
-            WrapAlgorithm::FirstFit => f.write_str("FirstFit"),
-            #[cfg(feature = "smawk")]
-            WrapAlgorithm::OptimalFit(penalties) => write!(f, "OptimalFit({:?})", penalties),
-            WrapAlgorithm::Custom(_) => f.write_str("Custom(...)"),
-        }
-    }
-}
-
 impl WrapAlgorithm {
     /// Create new wrap algorithm.
     ///
@@ -344,10 +333,7 @@
 ///
 /// Apologies to anyone who actually knows how to build a house and
 /// knows how long each step takes :-)
-pub fn wrap_first_fit<'a, T: Fragment>(
-    fragments: &'a [T],
-    line_widths: &[f64],
-) -> Vec<&'a [T]> {
+pub fn wrap_first_fit<'a, T: Fragment>(fragments: &'a [T], line_widths: &[f64]) -> Vec<&'a [T]> {
     // The final line width is used for all remaining lines.
     let default_line_width = line_widths.last().copied().unwrap_or(0.0);
     let mut lines = Vec::new();
diff --git a/pseudo_crate/Cargo.lock b/pseudo_crate/Cargo.lock
index 275f6d9..8f0555e 100644
--- a/pseudo_crate/Cargo.lock
+++ b/pseudo_crate/Cargo.lock
@@ -452,7 +452,7 @@
  "termcolor",
  "termtree",
  "textdistance",
- "textwrap 0.16.1",
+ "textwrap 0.16.2",
  "thiserror 2.0.11",
  "thiserror-impl 2.0.11",
  "thread_local",
@@ -1254,7 +1254,7 @@
  "bitflags 1.3.2",
  "clap_lex 0.2.4",
  "indexmap 1.9.3",
- "textwrap 0.16.1",
+ "textwrap 0.16.2",
 ]
 
 [[package]]
@@ -6137,13 +6137,13 @@
 
 [[package]]
 name = "textwrap"
-version = "0.16.1"
+version = "0.16.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
+checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057"
 dependencies = [
  "smawk",
  "unicode-linebreak",
- "unicode-width 0.1.11",
+ "unicode-width 0.2.0",
 ]
 
 [[package]]
diff --git a/pseudo_crate/Cargo.toml b/pseudo_crate/Cargo.toml
index e99d618..d655791 100644
--- a/pseudo_crate/Cargo.toml
+++ b/pseudo_crate/Cargo.toml
@@ -362,7 +362,7 @@
 termcolor = "=1.4.1"
 termtree = "=0.4.1"
 textdistance = "=1.1.1"
-textwrap = "=0.16.1"
+textwrap = "=0.16.2"
 thiserror = "=2.0.11"
 thiserror-impl = "=2.0.11"
 thread_local = "=1.1.8"
