Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 13 additions & 20 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# How to contribute

**IMPORTANT:** The Druid project is being discontinued. While we will still accept
all contributions, we'll prefer bugfixes and documentations improvements to new
all contributions, we'll prefer bug fixes and documentation improvements to new
features.

If you still want to contribute, here are the guidelines you need to follow.
Expand Down Expand Up @@ -38,9 +38,9 @@ set -e
echo "cargo fmt"
cargo fmt --all -- --check
echo "cargo clippy druid-shell"
cargo clippy --manifest-path=druid-shell/Cargo.toml --all-targets -- -D warnings
cargo clippy --manifest-path=druid-shell/Cargo.toml --all-targets --features=raw-win-handle -- -D warnings
echo "cargo clippy druid"
cargo clippy --manifest-path=druid/Cargo.toml --all-targets --features=svg,image,im -- -D warnings
cargo clippy --manifest-path=druid/Cargo.toml --all-targets --features=svg,image,im,raw-win-handle -- -D warnings
echo "cargo clippy druid (wasm)"
cargo clippy --manifest-path=druid/Cargo.toml --all-targets --features=image,im --target wasm32-unknown-unknown -- -D warnings
echo "cargo clippy druid-derive"
Expand Down Expand Up @@ -126,42 +126,35 @@ old versions of our sub-dependencies and so we shouldn't claim that the old vers

#### Prerequisites for updating the dependency specifications

An easy way to do this is to use the `cargo upgrade` tool available via [cargo-edit].
An easy way to do this is to use the `cargo upgrade` tool available via [`cargo-edit`].

```sh
cargo install cargo-edit
```

#### Performing the update
*Note that the following instructions were written for `cargo-edit` v0.11. If you have a newer
major version there may have been changes to the way `cargo-edit` works.*

All of the following commands must be run from the root workspace.
#### Performing the update

First we want to update our `Cargo.lock` file to contain the newest versions
which are still [semver] compatible with what we have specified in our `Cargo.toml` files.
We want to update our `Cargo.toml` files to specify the newest versions which are still
[semver] compatible with what we have previously specified in our `Cargo.toml` files.

If you just want to see what would happen you can add the `--dry-run` option.

```sh
cargo update
cargo upgrade
```

Next we'll update all the versions in the `Cargo.toml` files to match the versions
specified in `Cargo.lock`. We'll do this using the `--to-lockfile` option of `cargo upgrade`.
It's crucial that we use `--to-lockfile` because without it `cargo upgrade` won't respect semver.

If you just want to see what would happen you can add the `--dry-run` option.

```sh
cargo upgrade --workspace --to-lockfile
```
Running this command will update all the `Cargo.toml` files in the workspace and also `Cargo.lock`.

#### Semver incompatible updates

Incompatible version updates should be done manually after carefully reviewing the changes.
However you can still use the `cargo upgrade` tool to find out which dependencies could be updated.

```sh
cargo upgrade --workspace --dry-run
cargo upgrade -i --dry-run
```

Then based on the reported potential updates you should manually go and check out what has changed,
Expand Down Expand Up @@ -201,6 +194,6 @@ Finally, we [create a new Github release](https://docs.github.com/en/github/admi
[GitHub Help]: https://help.github.com/articles/about-pull-requests/
[AUTHORS]: AUTHORS
[changelog]: CHANGELOG.md
[cargo-edit]: https://github.com/killercup/cargo-edit
[`cargo-edit`]: https://crates.io/crates/cargo-edit
[semver]: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html
[git `pre-push` hook]: https://githooks.com
22 changes: 18 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,30 @@ performance, a rich palette of interactions (hence a widget library to support
them), and playing well with the native platform.
See the [goals section](#Goals) for more details.

**IMPORTANT:** The Druid project is being discontinued. While we will still accept
all contributions, we'll prefer bugfixes and documentations improvements to new
features. Current development effort is focused on [Xilem](https://github.com/linebender/xilem).

We have been doing periodic releases of Druid on crates.io, but the API is still unstable. All changes are documented
in [the changelog](https://github.com/linebender/druid/blob/master/CHANGELOG.md).

For an overview of some key concepts, see the (work in progress) [Druid book].

## Project status

**The Druid project is being discontinued by the core developer team.**

New development effort is focused on [Xilem], which has a lot of fundamental changes to allow for
a wider variety of applications with better performance, but it also heavily inherits from Druid.
We see [Xilem] as the future of Druid.

Druid is reasonably usable for [some subset of applications](https://github.com/linebender/druid/issues/1360)
and has a significant testing history, which ensures some stability and correctness.
However we don't expect any major new features to be added to Druid. As such we don't recommend
using Druid for brand new applications. If you insist, then at least make sure your application
doesn't require a feature that Druid doesn't have, e.g. accessibility or 3D support.

## Contributions

As the Druid project is being discontinued, we will still accept all contributions,
but we'll prefer bug fixes and documentation improvements to new features.

A very good place to ask questions and discuss development work is our [Zulip
chat instance], in the #druid-help and #druid channels, respectively.

Expand Down Expand Up @@ -324,3 +337,4 @@ active and friendly community.
[Relm]: https://github.com/antoyo/relm
[Moxie]: https://github.com/anp/moxie
[Slint]: https://github.com/slint-ui/slint
[Xilem]: https://github.com/linebender/xilem
2 changes: 1 addition & 1 deletion docs/src/01_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Druid works without special difficulty.

## Prerequisites

This tutorial assumes basic familliarity with Rust and a working setup with the basic tooling like
This tutorial assumes basic familiarity with Rust and a working setup with the basic tooling like
Rustup and Cargo. This tutorial will use stable Rust (v1.65.0 at the time of writing) and the latest
released version of Druid (v0.8).

Expand Down