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
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,32 @@ release notes.

### Tools

- None yet.

### Measurements

- None yet.

## 0.2.13 (2026-08-15)

### Programs that used to compile and no longer do

- None yet.

### Language

- None yet.

### Diagnostics

- None yet.

### Standard library

- None yet.

### Tools

- Cargo packages, release archives and the VS Code extension are available
under MIT or Apache-2.0, at the user's option.

Expand Down
40 changes: 20 additions & 20 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 20 additions & 20 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ members = [
]

[workspace.package]
version = "0.2.12"
version = "0.2.13"
edition = "2024"
license = "MIT OR Apache-2.0"
repository = "https://github.com/deed-lang/deed"
Expand All @@ -36,25 +36,25 @@ rust-version = "1.88"
# `deed-x.workspace = true`. These have to equal the version above, and
# `crates/deed-driver/tests/publishing.rs` says so rather than trusting it.
[workspace.dependencies]
deed-ast = { path = "crates/deed-ast", version = "0.2.12" }
deed-codegen = { path = "crates/deed-codegen", version = "0.2.12" }
deed-dap = { path = "crates/deed-dap", version = "0.2.12" }
deed-diagnostics = { path = "crates/deed-diagnostics", version = "0.2.12" }
deed-driver = { path = "crates/deed-driver", version = "0.2.12" }
deed-effects = { path = "crates/deed-effects", version = "0.2.12" }
deed-explain = { path = "crates/deed-explain", version = "0.2.12" }
deed-fetch = { path = "crates/deed-fetch", version = "0.2.12" }
deed-fmt = { path = "crates/deed-fmt", version = "0.2.12" }
deed-interp = { path = "crates/deed-interp", version = "0.2.12" }
deed-lexer = { path = "crates/deed-lexer", version = "0.2.12" }
deed-lsp = { path = "crates/deed-lsp", version = "0.2.12" }
deed-mcp = { path = "crates/deed-mcp", version = "0.2.12" }
deed-mir = { path = "crates/deed-mir", version = "0.2.12" }
deed-parser = { path = "crates/deed-parser", version = "0.2.12" }
deed-resolve = { path = "crates/deed-resolve", version = "0.2.12" }
deed-rt = { path = "crates/deed-rt", version = "0.2.12" }
deed-typeck = { path = "crates/deed-typeck", version = "0.2.12" }
deed-wasm = { path = "crates/deed-wasm", version = "0.2.12" }
deed-ast = { path = "crates/deed-ast", version = "0.2.13" }
deed-codegen = { path = "crates/deed-codegen", version = "0.2.13" }
deed-dap = { path = "crates/deed-dap", version = "0.2.13" }
deed-diagnostics = { path = "crates/deed-diagnostics", version = "0.2.13" }
deed-driver = { path = "crates/deed-driver", version = "0.2.13" }
deed-effects = { path = "crates/deed-effects", version = "0.2.13" }
deed-explain = { path = "crates/deed-explain", version = "0.2.13" }
deed-fetch = { path = "crates/deed-fetch", version = "0.2.13" }
deed-fmt = { path = "crates/deed-fmt", version = "0.2.13" }
deed-interp = { path = "crates/deed-interp", version = "0.2.13" }
deed-lexer = { path = "crates/deed-lexer", version = "0.2.13" }
deed-lsp = { path = "crates/deed-lsp", version = "0.2.13" }
deed-mcp = { path = "crates/deed-mcp", version = "0.2.13" }
deed-mir = { path = "crates/deed-mir", version = "0.2.13" }
deed-parser = { path = "crates/deed-parser", version = "0.2.13" }
deed-resolve = { path = "crates/deed-resolve", version = "0.2.13" }
deed-rt = { path = "crates/deed-rt", version = "0.2.13" }
deed-typeck = { path = "crates/deed-typeck", version = "0.2.13" }
deed-wasm = { path = "crates/deed-wasm", version = "0.2.13" }

[workspace.lints.clippy]
all = "warn"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ language server are all in that one file.
Start with the [tutorial](TUTORIAL.md) if you want one program built up one step at a time.

```
$ tar xzf deed-v0.2.12-x86_64-unknown-linux-gnu.tar.gz
$ ./deed-v0.2.12-x86_64-unknown-linux-gnu/deed --version
deed 0.2.12
$ tar xzf deed-v0.2.13-x86_64-unknown-linux-gnu.tar.gz
$ ./deed-v0.2.13-x86_64-unknown-linux-gnu/deed --version
deed 0.2.13
```

With Rust 1.88 or newer instead, from crates.io or from a clone:
Expand Down
18 changes: 12 additions & 6 deletions crates/deed-driver/tests/publishing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ fn manifest() -> String {
std::fs::read_to_string(root().join("Cargo.toml")).expect("the workspace manifest")
}

fn normalized_text(path: &Path) -> String {
std::fs::read_to_string(path)
.unwrap_or_else(|error| panic!("could not read {}: {error}", path.display()))
.replace("\r\n", "\n")
}

/// The value of a `key = "value"` line in a section.
fn field(text: &str, section: &str, key: &str) -> String {
let body = text
Expand Down Expand Up @@ -88,10 +94,10 @@ fn every_published_crate_offers_the_dual_license() {
field(&manifest(), "[workspace.package]", "license"),
expected
);
let apache = std::fs::read(root().join("LICENSE")).expect("the Apache license");
let mit = std::fs::read(root().join("LICENSE-MIT")).expect("the MIT license");
assert!(apache.starts_with(b" Apache License"));
assert!(mit.starts_with(b"MIT License"));
let apache = normalized_text(&root().join("LICENSE"));
let mit = normalized_text(&root().join("LICENSE-MIT"));
assert!(apache.starts_with(" Apache License"));
assert!(mit.starts_with("MIT License"));

let mut inherited = 0;
for entry in std::fs::read_dir(root().join("crates")).expect("crates/") {
Expand All @@ -107,13 +113,13 @@ fn every_published_crate_offers_the_dual_license() {
path.display()
);
assert_eq!(
std::fs::read(crate_root.join("LICENSE")).expect("the packaged Apache license"),
normalized_text(&crate_root.join("LICENSE")),
apache,
"{} packages a different Apache license",
crate_root.display()
);
assert_eq!(
std::fs::read(crate_root.join("LICENSE-MIT")).expect("the packaged MIT license"),
normalized_text(&crate_root.join("LICENSE-MIT")),
mit,
"{} packages a different MIT license",
crate_root.display()
Expand Down
4 changes: 2 additions & 2 deletions server.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
"source": "github",
"subfolder": "crates/deed-cli"
},
"version": "0.2.12",
"version": "0.2.13",
"packages": [
{
"registryType": "cargo",
"registryBaseUrl": "https://crates.io",
"identifier": "deed-lang",
"version": "0.2.12",
"version": "0.2.13",
"transport": {
"type": "stdio"
},
Expand Down
Loading