diff --git a/README.md b/README.md
index 1e1d68662..e44df6b88 100644
--- a/README.md
+++ b/README.md
@@ -46,19 +46,19 @@ This crate provides a set of tools for concurrent programming:
*Features marked with (alloc) can be used in `no_std` environments, but only if `alloc`
feature is enabled.*
-[`AtomicCell`]: https://docs.rs/crossbeam/*/crossbeam/atomic/struct.AtomicCell.html
-[`AtomicConsume`]: https://docs.rs/crossbeam/*/crossbeam/atomic/trait.AtomicConsume.html
-[`deque`]: https://docs.rs/crossbeam/*/crossbeam/deque/index.html
-[`ArrayQueue`]: https://docs.rs/crossbeam/*/crossbeam/queue/struct.ArrayQueue.html
-[`SegQueue`]: https://docs.rs/crossbeam/*/crossbeam/queue/struct.SegQueue.html
-[`channel`]: https://docs.rs/crossbeam/*/crossbeam/channel/index.html
-[`Parker`]: https://docs.rs/crossbeam/*/crossbeam/sync/struct.Parker.html
-[`ShardedLock`]: https://docs.rs/crossbeam/*/crossbeam/sync/struct.ShardedLock.html
-[`WaitGroup`]: https://docs.rs/crossbeam/*/crossbeam/sync/struct.WaitGroup.html
-[`epoch`]: https://docs.rs/crossbeam/*/crossbeam/epoch/index.html
-[`Backoff`]: https://docs.rs/crossbeam/*/crossbeam/utils/struct.Backoff.html
-[`CachePadded`]: https://docs.rs/crossbeam/*/crossbeam/utils/struct.CachePadded.html
-[`scope`]: https://docs.rs/crossbeam/*/crossbeam/fn.scope.html
+[`AtomicCell`]: https://docs.rs/crossbeam/latest/crossbeam/atomic/struct.AtomicCell.html
+[`AtomicConsume`]: https://docs.rs/crossbeam/latest/crossbeam/atomic/trait.AtomicConsume.html
+[`deque`]: https://docs.rs/crossbeam/latest/crossbeam/deque/index.html
+[`ArrayQueue`]: https://docs.rs/crossbeam/latest/crossbeam/queue/struct.ArrayQueue.html
+[`SegQueue`]: https://docs.rs/crossbeam/latest/crossbeam/queue/struct.SegQueue.html
+[`channel`]: https://docs.rs/crossbeam/latest/crossbeam/channel/index.html
+[`Parker`]: https://docs.rs/crossbeam/latest/crossbeam/sync/struct.Parker.html
+[`ShardedLock`]: https://docs.rs/crossbeam/latest/crossbeam/sync/struct.ShardedLock.html
+[`WaitGroup`]: https://docs.rs/crossbeam/latest/crossbeam/sync/struct.WaitGroup.html
+[`epoch`]: https://docs.rs/crossbeam/latest/crossbeam/epoch/index.html
+[`Backoff`]: https://docs.rs/crossbeam/latest/crossbeam/utils/struct.Backoff.html
+[`CachePadded`]: https://docs.rs/crossbeam/latest/crossbeam/utils/struct.CachePadded.html
+[`scope`]: https://docs.rs/crossbeam/latest/crossbeam/fn.scope.html
## Crates
diff --git a/crossbeam-channel/README.md b/crossbeam-channel/README.md
index 4c42d863c..76ffcf872 100644
--- a/crossbeam-channel/README.md
+++ b/crossbeam-channel/README.md
@@ -25,15 +25,15 @@ Some highlights:
* Channels use locks very sparingly for maximum [performance](benchmarks).
[`std::sync::mpsc`]: https://doc.rust-lang.org/std/sync/mpsc/index.html
-[`Sender`]: https://docs.rs/crossbeam-channel/*/crossbeam_channel/struct.Sender.html
-[`Receiver`]: https://docs.rs/crossbeam-channel/*/crossbeam_channel/struct.Receiver.html
-[`bounded`]: https://docs.rs/crossbeam-channel/*/crossbeam_channel/fn.bounded.html
-[`unbounded`]: https://docs.rs/crossbeam-channel/*/crossbeam_channel/fn.unbounded.html
-[`after`]: https://docs.rs/crossbeam-channel/*/crossbeam_channel/fn.after.html
-[`never`]: https://docs.rs/crossbeam-channel/*/crossbeam_channel/fn.never.html
-[`tick`]: https://docs.rs/crossbeam-channel/*/crossbeam_channel/fn.tick.html
-[`select!`]: https://docs.rs/crossbeam-channel/*/crossbeam_channel/macro.select.html
-[`Select`]: https://docs.rs/crossbeam-channel/*/crossbeam_channel/struct.Select.html
+[`Sender`]: https://docs.rs/crossbeam-channel/latest/crossbeam_channel/struct.Sender.html
+[`Receiver`]: https://docs.rs/crossbeam-channel/latest/crossbeam_channel/struct.Receiver.html
+[`bounded`]: https://docs.rs/crossbeam-channel/latest/crossbeam_channel/fn.bounded.html
+[`unbounded`]: https://docs.rs/crossbeam-channel/latest/crossbeam_channel/fn.unbounded.html
+[`after`]: https://docs.rs/crossbeam-channel/latest/crossbeam_channel/fn.after.html
+[`never`]: https://docs.rs/crossbeam-channel/latest/crossbeam_channel/fn.never.html
+[`tick`]: https://docs.rs/crossbeam-channel/latest/crossbeam_channel/fn.tick.html
+[`select!`]: https://docs.rs/crossbeam-channel/latest/crossbeam_channel/macro.select.html
+[`Select`]: https://docs.rs/crossbeam-channel/latest/crossbeam_channel/struct.Select.html
## Usage
diff --git a/crossbeam-queue/README.md b/crossbeam-queue/README.md
index 85671ef17..238bcad32 100644
--- a/crossbeam-queue/README.md
+++ b/crossbeam-queue/README.md
@@ -20,8 +20,8 @@ This crate provides concurrent queues that can be shared among threads:
Everything in this crate can be used in `no_std` environments, provided that `alloc` feature is
enabled.
-[`ArrayQueue`]: https://docs.rs/crossbeam-queue/*/crossbeam_queue/struct.ArrayQueue.html
-[`SegQueue`]: https://docs.rs/crossbeam-queue/*/crossbeam_queue/struct.SegQueue.html
+[`ArrayQueue`]: https://docs.rs/crossbeam-queue/latest/crossbeam_queue/struct.ArrayQueue.html
+[`SegQueue`]: https://docs.rs/crossbeam-queue/latest/crossbeam_queue/struct.SegQueue.html
## Usage
diff --git a/crossbeam-skiplist/README.md b/crossbeam-skiplist/README.md
index 4c9509061..787ce87a5 100644
--- a/crossbeam-skiplist/README.md
+++ b/crossbeam-skiplist/README.md
@@ -12,11 +12,15 @@ https://docs.rs/crossbeam-skiplist)
https://www.rust-lang.org)
[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.com/invite/JXYwgWZ)
-**Note:** This crate is still a work in progress.
+This crate provides the types [`SkipMap`] and [`SkipSet`].
+These data structures provide an interface similar to `BTreeMap` and `BTreeSet`,
+respectively, except they support safe concurrent access across multiple threads.
This crate can be used in `no_std` environments that implement `alloc`. The `alloc` feature of this crate needs to be enabled in `no_std` environments.
-
## Compatibility
diff --git a/crossbeam-utils/README.md b/crossbeam-utils/README.md
index c06ea601a..5491c7213 100644
--- a/crossbeam-utils/README.md
+++ b/crossbeam-utils/README.md
@@ -33,14 +33,14 @@ This crate provides miscellaneous tools for concurrent programming:
*Features marked with (no_std) can be used in `no_std` environments.*
-[`AtomicCell`]: https://docs.rs/crossbeam-utils/*/crossbeam_utils/atomic/struct.AtomicCell.html
-[`AtomicConsume`]: https://docs.rs/crossbeam-utils/*/crossbeam_utils/atomic/trait.AtomicConsume.html
-[`Parker`]: https://docs.rs/crossbeam-utils/*/crossbeam_utils/sync/struct.Parker.html
-[`ShardedLock`]: https://docs.rs/crossbeam-utils/*/crossbeam_utils/sync/struct.ShardedLock.html
-[`WaitGroup`]: https://docs.rs/crossbeam-utils/*/crossbeam_utils/sync/struct.WaitGroup.html
-[`Backoff`]: https://docs.rs/crossbeam-utils/*/crossbeam_utils/struct.Backoff.html
-[`CachePadded`]: https://docs.rs/crossbeam-utils/*/crossbeam_utils/struct.CachePadded.html
-[`scope`]: https://docs.rs/crossbeam-utils/*/crossbeam_utils/thread/fn.scope.html
+[`AtomicCell`]: https://docs.rs/crossbeam-utils/latest/crossbeam_utils/atomic/struct.AtomicCell.html
+[`AtomicConsume`]: https://docs.rs/crossbeam-utils/latest/crossbeam_utils/atomic/trait.AtomicConsume.html
+[`Parker`]: https://docs.rs/crossbeam-utils/latest/crossbeam_utils/sync/struct.Parker.html
+[`ShardedLock`]: https://docs.rs/crossbeam-utils/latest/crossbeam_utils/sync/struct.ShardedLock.html
+[`WaitGroup`]: https://docs.rs/crossbeam-utils/latest/crossbeam_utils/sync/struct.WaitGroup.html
+[`Backoff`]: https://docs.rs/crossbeam-utils/latest/crossbeam_utils/struct.Backoff.html
+[`CachePadded`]: https://docs.rs/crossbeam-utils/latest/crossbeam_utils/struct.CachePadded.html
+[`scope`]: https://docs.rs/crossbeam-utils/latest/crossbeam_utils/thread/fn.scope.html
## Usage