Skip to content

fix(prqlc/deps): loosen chrono constraint from 0.4.44 to 0.4#5834

Merged
max-sixty merged 1 commit intoPRQL:mainfrom
lukapeschke:loosen-chrono-constraint
Apr 27, 2026
Merged

fix(prqlc/deps): loosen chrono constraint from 0.4.44 to 0.4#5834
max-sixty merged 1 commit intoPRQL:mainfrom
lukapeschke:loosen-chrono-constraint

Conversation

@lukapeschke
Copy link
Copy Markdown
Contributor

depending on the latest chrono version causes conflicts with other libs relying on older versions, such as polars: https://github.com/pola-rs/polars/blob/693c52035689e150c2c70fc6d48c952c564ec940/Cargo.toml#L44

depending on the latest chrono version causes conflicts with other libs
relying on older versions, such as polars: https://github.com/pola-rs/polars/blob/693c52035689e150c2c70fc6d48c952c564ec940/Cargo.toml#L44

Signed-off-by: Luka Peschke <luka.peschke@toucantoco.com>
@max-sixty max-sixty merged commit c7e7747 into PRQL:main Apr 27, 2026
42 checks passed
prql-bot added a commit that referenced this pull request Apr 28, 2026
…bility

#5834 loosened the chrono constraint from 0.4.44 to 0.4 (i.e. >=0.4.0) so
downstream apps using prqlc alongside polars (which depends on chrono 0.4.41)
could resolve. But this broke `cargo minimal-versions test --direct`:
arrow-arith (transitive via connector_arrow -> arrow) requires chrono ^0.4.40,
so the resolver could not satisfy 0.4.0. Pin the minimum to 0.4.40 — still
permits polars 0.4.41 and the latest 0.4.44 to coexist.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@max-sixty
Copy link
Copy Markdown
Member

Heads-up for context: this loosening exposed a transitive-dep ratchet that wasn't visible from prqlc/prqlc/Cargo.toml alone — arrow-arith (transitive via connector_arrow → arrow → arrow-arith) requires chrono ^0.4.40, and duckdb requires chrono ^0.4.22. So chrono = "0.4" is below what prqlc actually transitively requires, and cargo update -Z direct-minimal-versions (the test-deps-min-versions job) refuses to resolve.

It didn't show up in this PR's CI because the nightly path filter in tests.yaml only matched the workspace-root Cargo.toml, not member crates. So test-deps-min-versions was skipped on the PR and only failed on the next post-merge run that touched root Cargo.lock (#5838's libc bump).

Followed up:

Nothing to do here — just leaving a breadcrumb for anyone revisiting.

This was written by Claude Code on behalf of @max-sixty

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