Skip to content

chore(deps): bump hyperlane and hyperlane-core to 21.12.0 - #23

Merged
vshengbro merged 1 commit into
playgroundfrom
chore/hyperlane-21.12.0-playground-2026-10-09
Oct 9, 2026
Merged

vshengbro merged 1 commit into
playgroundfrom
chore/hyperlane-21.12.0-playground-2026-10-09

Conversation

@vshengbro

Copy link
Copy Markdown
Member

Summary

Bump hyperlane and hyperlane-core requirements to 21.12.0 (from 21.7.8). The two entries also move within the [workspace.dependencies] block to keep the §13.7 round-4 length-then-lexicographic order valid — the longer version strings changed their sort keys (verified with fix_dep_order.py --write + verify_dep_order.py, 0 violations).

hyperlane-core 21.12.0 changes Server::route to pub fn route<S>(&mut self, path: impl AsRef<str>) (hyperlane-dev/hyperlane#43). This branch registers all routes through the #[route] attribute macro, which uses inventory::submit! + HookType::Route and never calls Server::route — so no route call sites change here (grep -rn 'route::<' returns 0).

One adaptation is required for a different change shipping in the same release: 21.12.0 reduces several http-constant header-name constants to pub(crate) (hyperlane §18 const-visibility sweep, commit 684f3c0). This branch consumed eight of them across controllers, views, services and middleware, so they now live as one crate-local copy:

  • application/header/const.rs (new) — pub(crate) const copies of ACCEPT_RANGES, AUTHORIZATION, CACHE_CONTROL, CONTENT_DISPOSITION, CONTENT_RANGE, DATE, EXPIRES, RANGE
  • application/header/mod.rs (new) — mod r#const; + pub(crate) use r#const::*;
  • application/lib.rs — wire mod header; + pub(crate) use header::*; so every module reaches them through the existing use super::*; chains

EMPTY_STR was deliberately not copied: it is still pub in http-constant 21.12.0, and a local copy caused E0659 glob ambiguity (verified by build).

Cargo.lock intentionally still pins 21.10.0: crates.io only serves 21.12.0 after hyperlane-dev/hyperlane#43 merges and the publish workflow runs. Refresh with cargo update -p hyperlane afterwards.

Verification

Verified locally with a temporary [patch.crates-io] pointing at the hyperlane 21.12.0 working tree (patch section removed before commit):

  • cargo build --workspace — clean (21.12.0 path-patched)
  • cargo clippy --workspace --all-targets — 0 code warnings/errors
  • cargo test --workspace --all-features — 1 test passes, all other suites empty
  • cargo fmt --all + --check — 0 diff, idempotent
  • verify_dep_order.py — 0 violations after reorder
  • staged_file_gate.py (pre-commit hook) — 0 new violations
  • No route::<T, P> patterns exist anywhere in the codebase

Notes

@ghfind-review ghfind-review Bot added the review: high ghfind author score; see https://ghfind.com label Oct 9, 2026
hyperlane-core 21.12.0 changes Server::route to take
path: impl AsRef<str>; this branch registers routes through the
#[route] attribute macro (inventory-based), which never calls
Server::route, so no call sites change here.

The same release reduces several http-constant header-name
constants to pub(crate) visibility (rust-standards section 18):
ACCEPT_RANGES, AUTHORIZATION, CACHE_CONTROL, CONTENT_DISPOSITION,
CONTENT_RANGE, DATE, EXPIRES and RANGE were consumed across the
application crate's controllers, views, services and middleware.
They now live as one local copy in application/header/const.rs per the
section 18 consumer guidance, re-exported crate-internally from
application/lib.rs.

Cargo.lock intentionally still pins 21.10.0: crates.io serves
21.12.0 only after hyperlane-dev/hyperlane#43 merges and the
publish workflow runs. Run cargo update -p hyperlane after that to
refresh the lockfile.
@vshengbro
vshengbro force-pushed the chore/hyperlane-21.12.0-playground-2026-10-09 branch from 59dd971 to d320cd2 Compare October 9, 2026 06:43
@vshengbro
vshengbro merged commit d320cd2 into playground Oct 9, 2026
8 of 10 checks passed
@vshengbro
vshengbro deleted the chore/hyperlane-21.12.0-playground-2026-10-09 branch October 9, 2026 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review: high ghfind author score; see https://ghfind.com

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant