Skip to content

fix(deps): disable chrono default features to drop iana-time-zone pull-in#835

Closed
SarthakB11 wants to merge 1 commit intomodelcontextprotocol:mainfrom
SarthakB11:fix/issue-828
Closed

fix(deps): disable chrono default features to drop iana-time-zone pull-in#835
SarthakB11 wants to merge 1 commit intomodelcontextprotocol:mainfrom
SarthakB11:fix/issue-828

Conversation

@SarthakB11
Copy link
Copy Markdown

Motivation and Context

rmcp's non-wasm chrono dependency is currently declared without default-features = false, so chrono's default clock feature is enabled. clock brings in iana-time-zone, which on Haiku pulls iana-time-zone-haiku and links libbe.so. libbe.so itself depends on system libzstd.so.1, which conflicts with the hidden symbols in vendored zstd-sys and breaks the final link for downstreams that combine rmcp with zstd on Haiku (see #828 and gyscos/zstd-rs#363).

rmcp only uses chrono::DateTime<Utc>, chrono::Utc::now(), chrono::Duration, and RFC3339 formatting (no local timezone discovery), so the clock/iana-time-zone pull-in is unnecessary.

This switches the non-wasm chrono dep to default-features = false with serde and now enabled. now provides Utc::now() without iana-time-zone. The wasm target block already had default-features = false and is left unchanged.

Closes #828.

How Has This Been Tested?

No behavioral changes; chrono usage in rmcp is limited to Utc::now, DateTime<Utc>, Duration, RFC3339 formatting, and serde derives, all retained via the now and serde features. CI matrix will exercise the full surface.

Breaking Changes

None. Public API and runtime behavior are unchanged. Default features dropped (oldtime, wasmbind, clock) are not used by rmcp on the non-wasm target.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

@SarthakB11 SarthakB11 requested a review from a team as a code owner May 5, 2026 19:53
@github-actions github-actions Bot added T-dependencies Dependencies related changes T-config Configuration file changes labels May 5, 2026
@SarthakB11
Copy link
Copy Markdown
Author

SarthakB11 commented May 5, 2026

Closing in favor of #829 by @chitao1234 (opened 2026-05-01, same fix, simpler diff). I missed it in pre-flight, apologies for the noise.

@SarthakB11 SarthakB11 closed this May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-config Configuration file changes T-dependencies Dependencies related changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consider disabling chrono default features to avoid unnecessary iana-time-zone/libbe dependency on Haiku

1 participant