Skip to content

Commit e300a81

Browse files
committed
Merge branch 'main' into lm/perwire
2 parents f98aa8e + b71b3f4 commit e300a81

File tree

62 files changed

+2234
-425
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+2234
-425
lines changed

.github/change-filters.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ rust: &rust
2626
- "hugr-passes/**"
2727
- "specification/schema/**"
2828

29+
std-extensions:
30+
- "specification/std_extensions/**"
31+
2932
python:
3033
- *rust
3134
- "hugr-py/**"

.github/workflows/ci-py.yml

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ env:
2121

2222
jobs:
2323
# Check if changes were made to the relevant files.
24-
# Always returns true if running on the default branch, to ensure all changes are throughly checked.
24+
# Always returns true if running on the default branch, to ensure all changes are thoroughly checked.
2525
changes:
2626
name: Check for changes in Python files
2727
runs-on: ubuntu-latest
@@ -31,6 +31,7 @@ jobs:
3131
# Set job outputs to values from filter step
3232
outputs:
3333
python: ${{ github.ref_name == github.event.repository.default_branch || steps.filter.outputs.python }}
34+
extensions: ${{ github.ref_name == github.event.repository.default_branch || steps.filter.outputs.std-extensions }}
3435
steps:
3536
- uses: actions/checkout@v4
3637
- uses: dorny/paths-filter@v3
@@ -179,11 +180,41 @@ jobs:
179180
exit 1
180181
fi
181182
183+
extension-versions:
184+
runs-on: ubuntu-latest
185+
needs: [changes]
186+
if: ${{ needs.changes.outputs.extensions == 'true' }}
187+
name: Check std extensions versions
188+
steps:
189+
- uses: actions/checkout@v4
190+
with:
191+
fetch-depth: 0 # Need full history to compare with main
192+
193+
- name: Set up Python
194+
uses: actions/setup-python@v4
195+
with:
196+
python-version: '3.10'
197+
198+
- name: Check if extension versions are updated
199+
run: |
200+
# Check against latest tag on the target branch
201+
# When not on a pull request, base_ref should be empty so we default to HEAD
202+
if [ -z "$TARGET_REF" ]; then
203+
BASE_SHA="HEAD~1"
204+
else
205+
BASE_SHA=$(git rev-parse origin/$TARGET_REF)
206+
fi
207+
echo "Comparing to ref: $BASE_SHA"
208+
209+
python ./scripts/check_extension_versions.py $BASE_SHA
210+
env:
211+
TARGET_REF: ${{ github.base_ref }}
212+
182213
# This is a meta job to mark successful completion of the required checks,
183214
# even if they are skipped due to no changes in the relevant files.
184215
required-checks:
185216
name: Required checks 🐍
186-
needs: [changes, check, test, serialization-schema]
217+
needs: [changes, check, test, serialization-schema, extension-versions]
187218
if: ${{ !cancelled() }}
188219
runs-on: ubuntu-latest
189220
steps:

Cargo.lock

Lines changed: 38 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ rstest = "0.24.0"
6767
semver = "1.0.26"
6868
serde = "1.0.219"
6969
serde_json = "1.0.140"
70-
serde_with = "3.13.0"
70+
serde_with = "3.14.0"
7171
serde_yaml = "0.9.34"
7272
smol_str = "0.3.1"
7373
static_assertions = "1.1.0"
@@ -81,9 +81,9 @@ clap-verbosity-flag = "3.0.3"
8181
assert_cmd = "2.0.17"
8282
assert_fs = "1.1.3"
8383
predicates = "3.1.0"
84-
indexmap = "2.9.0"
84+
indexmap = "2.10.0"
8585
fxhash = "0.2.1"
86-
bumpalo = "3.18.1"
86+
bumpalo = "3.19.0"
8787
pathsearch = "0.2.0"
8888
base64 = "0.22.1"
8989
ordered-float = "5.0.0"

hugr-cli/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# Changelog
22

33

4+
## [0.20.2](https://github.com/CQCL/hugr/compare/hugr-cli-v0.20.1...hugr-cli-v0.20.2) - 2025-06-25
5+
6+
### New Features
7+
8+
- *(cli)* convert sub-command for converting envelope formats ([#2331](https://github.com/CQCL/hugr/pull/2331))
9+
410
## [0.20.1](https://github.com/CQCL/hugr/compare/hugr-cli-v0.20.0...hugr-cli-v0.20.1) - 2025-06-03
511

612
### New Features

hugr-cli/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "hugr-cli"
3-
version = "0.20.1"
3+
version = "0.20.2"
44
edition = { workspace = true }
55
rust-version = { workspace = true }
66
license = { workspace = true }
@@ -19,7 +19,7 @@ bench = false
1919
clap = { workspace = true, features = ["derive", "cargo"] }
2020
clap-verbosity-flag.workspace = true
2121
derive_more = { workspace = true, features = ["display", "error", "from"] }
22-
hugr = { path = "../hugr", version = "0.20.1" }
22+
hugr = { path = "../hugr", version = "0.20.2" }
2323
serde_json.workspace = true
2424
clio = { workspace = true, features = ["clap-parse"] }
2525
anyhow.workspace = true

hugr-cli/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ fn run_external(args: Vec<OsString>) -> Result<()> {
4747
std::process::exit(1);
4848
}
4949
let subcmd = args[0].to_string_lossy();
50-
let exe = format!("hugr-{}", subcmd);
50+
let exe = format!("hugr-{subcmd}");
5151
let rest: Vec<_> = args[1..]
5252
.iter()
5353
.map(|s| s.to_string_lossy().to_string())

hugr-core/CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## [0.20.2](https://github.com/CQCL/hugr/compare/hugr-core-v0.20.1...hugr-core-v0.20.2) - 2025-06-25
4+
5+
### Documentation
6+
7+
- fix doc links in persistent
8+
9+
### New Features
10+
11+
- Add serial data types for SimpleReplacement and PersistentHugr ([#2300](https://github.com/CQCL/hugr/pull/2300))
12+
- Add MermaidFormatter to replace RenderConfig ([#2275](https://github.com/CQCL/hugr/pull/2275))
13+
- *(core)* builder pattern for EnvelopeConfig ([#2330](https://github.com/CQCL/hugr/pull/2330))
14+
- *(core, llvm)* add array unpack operations ([#2339](https://github.com/CQCL/hugr/pull/2339))
15+
- Deprecate invalidation_set, add invalidated_nodes and SimpleReplacement::invalidation_set ([#2358](https://github.com/CQCL/hugr/pull/2358))
16+
- Rewrite for peeling a TailLoop ([#2290](https://github.com/CQCL/hugr/pull/2290))
17+
- Create Module/FunctionBuilders from existing Hugrs ([#2359](https://github.com/CQCL/hugr/pull/2359))
18+
- better errors using metadata from generator ([#2368](https://github.com/CQCL/hugr/pull/2368))
19+
- use `core.` prefixes for generator metadata keys ([#2371](https://github.com/CQCL/hugr/pull/2371))
20+
21+
### Refactor
22+
23+
- *(types.rs)* rm incorrect comment and unnecessary allow-unused ([#2340](https://github.com/CQCL/hugr/pull/2340))
24+
325
## [0.20.1](https://github.com/CQCL/hugr/compare/hugr-core-v0.20.0...hugr-core-v0.20.1) - 2025-06-03
426

527
### Bug Fixes

hugr-core/Cargo.toml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "hugr-core"
3-
version = "0.20.1"
3+
version = "0.20.2"
44
edition = { workspace = true }
55
rust-version = { workspace = true }
66

@@ -28,7 +28,7 @@ bench = false
2828
name = "model"
2929

3030
[dependencies]
31-
hugr-model = { version = "0.20.1", path = "../hugr-model" }
31+
hugr-model = { version = "0.20.2", path = "../hugr-model" }
3232

3333
cgmath = { workspace = true, features = ["serde"] }
3434
delegate = { workspace = true }
@@ -63,6 +63,9 @@ semver = { workspace = true, features = ["serde"] }
6363
zstd = { workspace = true, optional = true }
6464
ordered-float = { workspace = true, features = ["serde"] }
6565
base64.workspace = true
66+
relrc = { workspace = true, features = ["petgraph", "serde"] }
67+
smallvec = "1.15.0"
68+
tracing = "0.1.41"
6669

6770
[dev-dependencies]
6871
rstest = { workspace = true }

0 commit comments

Comments
 (0)