+
+Adding a new Dependency
+=======================
+
+1) At the top level:
+ - Add it to ``[workspace.dependencies]`` specifying the version and any
+ features that should be enabled throughout the workspace
+
+2) In each member's ``Cargo.toml``:
+ - Add it to the desired dependencies section with ``workspace = true`` and no
+ version specified.
+ - If this member requires additional features, add only the extra features to
+ the member dependency.
+
+Updating a Dependency's Version
+===============================
+
+1) At the top level:
+ - Bump the version in ``[workspace.dependencies]`` as desired.
+ - Check for deprecations or breakage throughout the workspace.
+
+Notes on Workspace Inheritance
+==============================
+
+Common metadata (like authors, license, ..) are inherited throughout the
+workspace. If new fields are added that are identical for all crates, they
+should be defined in the top-level ``Cargo.toml`` file's
+``[workspace.package]`` section, and inherited in all members explicitly by
+setting ``FIELD.workspace = true`` in the member's ``[package]`` section.
+
+Dependency information is also inherited throughout the workspace, allowing a
+single dependency specification in the top-level Cargo.toml file to be used by
+all members.
+
+Some restrictions apply:
+- features can only be added in members, never removed (this includes
+ ``default_features = false``!)
+ - the base feature set at the workspace level should be the minimum (possibly
+ empty!) set required by all members
+- workspace dependency specifications cannot include ``optional``
+ - if needed, the ``optional`` flag needs to be set at the member level when
+ using a workspace dependency