Skip to content

Update CoW dependencies to v2.354.3#205

Merged
squadgazzz merged 7 commits intomainfrom
update-cow-dependencies/v2.346.0
Mar 31, 2026
Merged

Update CoW dependencies to v2.354.3#205
squadgazzz merged 7 commits intomainfrom
update-cow-dependencies/v2.346.0

Conversation

@squadgazzz
Copy link
Copy Markdown
Contributor

@squadgazzz squadgazzz commented Mar 25, 2026

Description

  • Update CoW dependencies from v2.345.4 to v2.354.3
  • Remove the axum-tracing feature from the observe dependency — removed upstream in cowprotocol/services#4067
  • Adapt to breaking API changes in the services monorepo:
    • observe module paths reorganized (distributed_tracing -> tracing::distributed, tracing::initialize_reentrant -> tracing::init::initialize_reentrant)
    • ethrpc::Web3 struct simplified (.alloy -> .provider, web3() signature changed)
    • rate_limit::Strategy moved to configs::rate_limit::Strategy
    • dto::solution::Solutions replaced by SolverResponse enum
    • axum 0.6 -> 0.8 (Server removed, now uses TcpListener + axum::serve, wildcard routes /*path -> /{*path})
    • bigdecimal 0.3 -> 0.4 (use to_plain_string() to avoid scientific notation in serialization)
    • prometheus-metric-storage 0.5 -> 0.6, prometheus 0.13 -> 0.14
  • Align remaining dependency versions with services workspace:
    • reqwest 0.11 -> 0.13, hyper 0.14 -> 1, tower 0.4 -> 0.5, tower-http 0.4 -> 0.6
    • itertools 0.11 -> 0.14, toml 0.7 -> 0.8

How to test

Existing test + staging

Remove the `axum-tracing` feature from the `observe` dependency as it
was removed upstream in cowprotocol/services#4067. The `tracing_axum`
module is now unconditionally compiled starting from v2.346.0.

This unblocks the automated update-cow-dependencies CI workflow which
fails on any tag >= v2.346.0 because the feature no longer exists.
Adapt to breaking changes in the services monorepo:

- observe: module paths reorganized
  - distributed_tracing::tracing_axum -> tracing::distributed::axum
  - tracing::initialize_reentrant -> tracing::init::initialize_reentrant
- ethrpc: Web3 struct simplified
  - .alloy field renamed to .provider
  - web3() now takes 3 args (Config, &Url, Option<&str>)
- rate_limit::Strategy moved to configs::rate_limit::Strategy
- dto::solution::Solutions replaced by SolverResponse enum
- axum 0.6 -> 0.8 (Server removed, use TcpListener + axum::serve)
- reqwest 0.11 -> 0.12, hyper 0.14 -> 1, tower-http 0.4 -> 0.6
- bigdecimal 0.3 -> 0.4, prometheus-metric-storage 0.5 -> 0.6
@squadgazzz squadgazzz changed the title Update CoW dependencies to v2.346.0 Update CoW dependencies to v2.354.3 Mar 25, 2026
Bump reqwest 0.12 -> 0.13, tower 0.4 -> 0.5, itertools 0.11 -> 0.14,
toml 0.7 -> 0.8 to match cowprotocol/services workspace versions.
- Update wildcard route syntax from `/*path` to `/{*path}` (axum 0.8)
- Use `to_plain_string()` for BigDecimal serialization to avoid
  scientific notation introduced in bigdecimal 0.4
@AryanGodara AryanGodara self-requested a review March 26, 2026 09:55
Copy link
Copy Markdown
Member

@AryanGodara AryanGodara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Build fine, tests and lint all pass (after cloning branch locally).

Also went through the code changes. Looks ok 👌🏼

@squadgazzz squadgazzz merged commit e281393 into main Mar 31, 2026
3 checks passed
@squadgazzz squadgazzz deleted the update-cow-dependencies/v2.346.0 branch March 31, 2026 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants