Skip to content

temporal_capi ^0.1.2 conflicts with icu_calendar 2.2 (forced by urlpattern/deno_web) #3

@RainyPixel

Description

@RainyPixel

Problem

openworkers-v8 v146.8.0 depends on temporal_capi = "^0.1.2". This version pins temporal_rs = "0.1.2", which uses two types removed in icu_calendar 2.2:

  • icu_calendar::cal::AnyCalendarDifferenceError
  • icu_calendar::types::DateDurationUnit

This causes a hard build failure when openworkers-v8 is used alongside any crate that forces icu_calendar >= 2.2:

deno_web → urlpattern 0.4.2 → icu_properties 2.2 → icu_calendar 2.2.1

Since deno_web is a natural companion to openworkers-v8 (it's the primary consumer of the V8 runtime), these two crates are effectively always used together, making openworkers-v8 v146.8.0 unbuildable in a standard Deno stack.

Error

error[E0412]: cannot find type `AnyCalendarDifferenceError` in module `icu_calendar::cal`
error[E0412]: cannot find type `DateDurationUnit` in module `icu_calendar::types`

Root cause

temporal_capi 0.1.2temporal_rs 0.1.2icu_calendar <2.2
temporal_capi 0.2.3temporal_rs 0.2.3icu_calendar 2.2.1

cargo update -p icu_calendar --precise 2.1.1 cannot work because urlpattern forces icu_collections 2.2, which in turn requires icu_calendar 2.2.

Fix

Bump the dependency in Cargo.toml from:

temporal_capi = "0.1.2"

to:

temporal_capi = "0.2"

temporal_capi 0.2.x uses temporal_rs 0.2.x which is fully compatible with icu_calendar 2.2.

Workaround

We are currently patching this in our workspace via [patch.crates-io] — shipping temporal_capi 0.2.3 code under version 0.1.2 to satisfy the ^0.1.2 constraint while remaining compatible with icu_calendar 2.2. This is obviously not a long-term solution.

Environment

  • openworkers-v8 tag: v146.8.0
  • deno_web: 0.266.0
  • urlpattern: 0.4.2
  • icu_calendar (forced): 2.2.1
  • temporal_capi (pinned): 0.1.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions