diff --git a/.bazelrc b/.bazelrc index 078ea2977b6..3a6b82c1b0a 100644 --- a/.bazelrc +++ b/.bazelrc @@ -97,6 +97,11 @@ build:no-perfetto --//src/workerd/util:use_perfetto=False build:no-perfetto --@v8//:v8_use_perfetto=False build:unix --config=perfetto +# Build V8's Temporal implementation on the temporal_capi crate from crates_vendor. +# NOTE: Temporal is still disabled at runtime for now +build --@v8//:v8_enable_temporal_support=True +build --@v8//:v8_temporal_capi=//deps/rust:temporal_capi + # Increasing the optimization level of V8 significantly speeds up tests using V8 a lot, especially # python tests. This is useful for both CI and local development and enabled by default, but still # kept in a separate configuration to make it easy to disable. diff --git a/build/deps/rust.MODULE.bazel b/build/deps/rust.MODULE.bazel index 1272f780d52..5474353dc07 100644 --- a/build/deps/rust.MODULE.bazel +++ b/build/deps/rust.MODULE.bazel @@ -105,6 +105,26 @@ crate.annotation( crate = "rust_icu_sys", rustc_env = {"RUST_ICU_MAJOR_VERSION_NUMBER": "78"}, ) +crate.annotation( + # V8 includes generated C++ bindings in the temporal_capi crate; create a cc_library to access + # these from Bazel. + # + # Not a triple-quoted string: Windows checkouts convert this file to CRLF line endings, which + # would end up in the string and change crate_universe's lockfile digest. + additive_build_file_content = "\n".join([ + "", + 'load("@rules_cc//cc:cc_library.bzl", "cc_library")', + "", + "cc_library(", + ' name = "cpp_bindings",', + ' hdrs = glob(["bindings/cpp/**/*.hpp"]),', + ' strip_include_prefix = "bindings/cpp",', + ")", + "", + ]), + crate = "temporal_capi", + extra_aliased_targets = {"temporal_capi_cpp_bindings": "cpp_bindings"}, +) crate.from_cargo( # TODO(cleanup): This name is a bit misleading now that we don't vendor. We can clean it up as a # followup. diff --git a/build/deps/v8.MODULE.bazel b/build/deps/v8.MODULE.bazel index 8d30980a215..24c5aa2d0d1 100644 --- a/build/deps/v8.MODULE.bazel +++ b/build/deps/v8.MODULE.bazel @@ -72,6 +72,7 @@ PATCHES = [ "0047-Add-v8-Data-IsCompatibleWithIsolate.patch", "0048-Keep-llvm-libc-private-to-v8_libbase.patch", "0049-Keep-v8_libshared-private-to-v8.patch", + "0050-Build-Temporal-in-the-V8-Bazel-build.patch", ] http_archive( diff --git a/deps/rust/BUILD.bazel b/deps/rust/BUILD.bazel index dcd341efad7..199989869c1 100644 --- a/deps/rust/BUILD.bazel +++ b/deps/rust/BUILD.bazel @@ -43,3 +43,14 @@ rust_static_library( stamp = -1, # default to bazel --stamp flag tags = ["manual"], ) + +# Main target for V8 temporal. Consists of our rust runtime + temoral_capi crate + its C++ bindings. +cc_library( + name = "temporal_capi", + visibility = ["//visibility:public"], + deps = [ + ":runtime", + "@crates_vendor//:temporal_capi", + "@crates_vendor//:temporal_capi_cpp_bindings", + ], +) diff --git a/deps/rust/Cargo.lock b/deps/rust/Cargo.lock index 1229a202aca..59c61584ac2 100644 --- a/deps/rust/Cargo.lock +++ b/deps/rust/Cargo.lock @@ -207,6 +207,16 @@ dependencies = [ "serde", ] +[[package]] +name = "calendrical_calculations" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26" +dependencies = [ + "core_maths", + "displaydoc", +] + [[package]] name = "capnp" version = "0.27.2" @@ -404,6 +414,15 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48" +[[package]] +name = "core_maths" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" +dependencies = [ + "libm", +] + [[package]] name = "cpufeatures" version = "0.2.17" @@ -553,6 +572,38 @@ dependencies = [ "crypto-common 0.2.2", ] +[[package]] +name = "diplomat" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8b37a6cea72eb6df5143d3e091d4c34cb0cf4046dd1ddcc082988886fe1f809" +dependencies = [ + "diplomat_core", + "proc-macro2", + "quote", + "syn 3.0.9", +] + +[[package]] +name = "diplomat-runtime" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25b2f28ba90d2ffa95a531ea479769d4a6b2f5f187cd76ab5fd3bdcd64b3603e" + +[[package]] +name = "diplomat_core" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73b18e806f9ecb92df828d080efe47984ae1193958295d4a84fb8b32c9a1aa1b" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "smallvec", + "strck", + "syn 3.0.9", +] + [[package]] name = "direct-cargo-bazel-deps" version = "0.0.1" @@ -609,6 +660,8 @@ dependencies = [ "swc_common", "swc_ts_fast_strip", "syn 2.0.119", + "temporal_capi", + "temporal_rs", "thiserror", "tokio", "tokio-rustls", @@ -1050,6 +1103,28 @@ dependencies = [ "tracing", ] +[[package]] +name = "icu_calendar" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58655df2f728e46e4eee80bddebefacf52ec3e77cdb925014b47c5a5905eb55c" +dependencies = [ + "calendrical_calculations", + "displaydoc", + "icu_calendar_data", + "icu_locale_core", + "icu_locale_fallback", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_calendar_data" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc00caaa3fb3201ff7a18aa458e8c3ab042b9da154cfdf948bdde3936c31c36e" + [[package]] name = "icu_collections" version = "2.4.0" @@ -1072,11 +1147,32 @@ checksum = "25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0" dependencies = [ "displaydoc", "litemap", + "serde", "tinystr", "writeable", "zerovec", ] +[[package]] +name = "icu_locale_fallback" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "251af8e57c9400e3eb58242fe5b8b1152b2a64fdf4cf632f923c38ccee6f2fa9" +dependencies = [ + "icu_locale_core", + "icu_locale_fallback_data", + "icu_provider", + "potential_utf", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locale_fallback_data" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "decf2a22ec8fa68f1a0c1129a3f8583f8f8bc24e8b9ccbe98ead99f62a4dc3a8" + [[package]] name = "icu_normalizer" version = "2.4.0" @@ -1126,6 +1222,8 @@ checksum = "413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514" dependencies = [ "displaydoc", "icu_locale_core", + "serde", + "stable_deref_trait", "writeable", "yoke", "zerofrom", @@ -1223,6 +1321,12 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" +[[package]] +name = "ixdtf" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d3667095d64c3ecffc96463a21157b04bf3e252f6e8d5750b20c02e33c194e3" + [[package]] name = "jni" version = "0.22.4" @@ -1693,6 +1797,8 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661" dependencies = [ + "serde_core", + "writeable", "zerovec", ] @@ -1835,6 +1941,16 @@ version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" +[[package]] +name = "resb" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22d392791f3c6802a1905a509e9d1a6039cbbcb5e9e00e5a6d3661f7c874f390" +dependencies = [ + "potential_utf", + "serde_core", +] + [[package]] name = "ring" version = "0.17.14" @@ -2285,6 +2401,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "strck" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42316e70da376f3d113a68d138a60d8a9883c604fe97942721ec2068dab13a9f" +dependencies = [ + "unicode-ident", +] + [[package]] name = "string_enum" version = "1.0.2" @@ -2671,6 +2796,40 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "temporal_capi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f48eb9ca4ca22caaa48d1e7a534ad3fd598a23d1a71945e8ad5ac0be501fa5f2" +dependencies = [ + "diplomat", + "diplomat-runtime", + "icu_calendar", + "icu_locale_core", + "num-traits", + "temporal_rs", + "timezone_provider", + "writeable", + "zoneinfo64", +] + +[[package]] +name = "temporal_rs" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a978fef907a27736827d336c0bfaab14fb8a7509dd6dc2b43c44e51d59aca5b" +dependencies = [ + "calendrical_calculations", + "core_maths", + "icu_calendar", + "icu_locale_core", + "ixdtf", + "num-traits", + "timezone_provider", + "tinystr", + "writeable", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -2700,6 +2859,18 @@ dependencies = [ "syn 3.0.9", ] +[[package]] +name = "timezone_provider" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ec4f4eebb4817fde02a411aedc7ac5f66c89c68c49e5d4b17a8139f077af52" +dependencies = [ + "tinystr", + "zerotrie", + "zerovec", + "zoneinfo64", +] + [[package]] name = "tinystr" version = "0.8.5" @@ -2707,6 +2878,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a" dependencies = [ "displaydoc", + "serde_core", "zerovec", ] @@ -3191,6 +3363,7 @@ dependencies = [ "displaydoc", "yoke", "zerofrom", + "zerovec", ] [[package]] @@ -3199,6 +3372,7 @@ version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40" dependencies = [ + "serde", "yoke", "zerofrom", "zerovec-derive", @@ -3226,3 +3400,16 @@ name = "zmij" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" + +[[package]] +name = "zoneinfo64" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed6eb2607e906160c457fd573e9297e65029669906b9ac8fb1b5cd5e055f0705" +dependencies = [ + "calendrical_calculations", + "icu_locale_core", + "potential_utf", + "resb", + "serde", +] diff --git a/deps/rust/Cargo.toml b/deps/rust/Cargo.toml index ec07b6ed352..0b3e322628b 100644 --- a/deps/rust/Cargo.toml +++ b/deps/rust/Cargo.toml @@ -89,6 +89,12 @@ rustls-webpki = { version = "0.103", default-features = false } # param_extractor depends on unbounded_depth feature serde_json = { version = "1", features = ["unbounded_depth"] } serde = { version = "1", features = ["derive"] } +# V8's Temporal implementation (//deps/rust:temporal_capi). V8 compiles against temporal_capi's +# generated C++ headers, so both crates should be pinned to the versions and features the V8 +# release expects: those in Chromium's third_party/rust/chromium_crates_io/Cargo.toml, at the +# third_party/rust revision pinned in V8's DEPS. +temporal_capi = { version = "=0.2.6", features = ["zoneinfo64"] } +temporal_rs = { version = "=0.2.6", default-features = false, features = ["float64_representable_durations"] } thiserror = "2" tower-service = "0.3" # tokio is huge, let's enable only features when we actually need them. diff --git a/deps/rust/cargo-bazel-lock.json b/deps/rust/cargo-bazel-lock.json index 282eee23c7b..00e0abecac9 100644 --- a/deps/rust/cargo-bazel-lock.json +++ b/deps/rust/cargo-bazel-lock.json @@ -2,7 +2,7 @@ "binary_crates": [ "capnpc 0.27.0" ], - "checksum": "3ef4c2d4c2a480f444a657336ab4e9dd7cf5874bc6365c7919303353139fe15c", + "checksum": "fc6f4f3a218482b8a652d90252353f8ed393b20b063f0f33f29f4f7e83aafc34", "conditions": { "aarch64-apple-darwin": [ "aarch64-apple-darwin" @@ -138,7 +138,6 @@ "cfg(windows)": [ "x86_64-pc-windows-msvc" ], - "cfg(windows_raw_dylib)": [], "i686-pc-windows-gnullvm": [], "x86_64-apple-darwin": [ "x86_64-apple-darwin" @@ -156,7 +155,7 @@ "build_script_attrs": { "deps": [ { - "id": "cc 1.9.0", + "id": "cc 1.10.0", "target": "cc" }, { @@ -806,6 +805,17 @@ }, "bitflags 2.13.2": { "common_attrs": { + "crate_features": { + "common": [], + "selects": { + "aarch64-apple-darwin": [ + "std" + ], + "x86_64-apple-darwin": [ + "std" + ] + } + }, "edition": "2021" }, "library_target_name": "bitflags", @@ -1111,6 +1121,46 @@ ], "version": "0.2.9" }, + "calendrical_calculations 0.2.4": { + "common_attrs": { + "deps": [ + { + "id": "core_maths 0.1.1", + "target": "core_maths" + } + ], + "edition": "2021", + "proc_macro_deps": [ + { + "id": "displaydoc 0.2.7", + "target": "displaydoc" + } + ] + }, + "library_target_name": "calendrical_calculations", + "license": "Apache-2.0", + "license_file": "LICENSE", + "license_ids": [ + "Apache-2.0" + ], + "name": "calendrical_calculations", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "sha256": "5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26", + "url": "https://static.crates.io/crates/calendrical_calculations/0.2.4/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "calendrical_calculations", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.2.4" + }, "capnp 0.27.2": { "common_attrs": { "crate_features": [ @@ -1186,7 +1236,7 @@ ], "version": "0.27.0" }, - "capnp-rpc 0.27.1": { + "capnp-rpc 0.27.2": { "common_attrs": { "deps": [ { @@ -1214,8 +1264,8 @@ "package_url": "https://github.com/capnproto/capnproto-rust", "repository": { "Http": { - "sha256": "fe88941ca04ec396b38ce5304fe9e40257ac7373e84b2a4fc6c2edd0b58fd56f", - "url": "https://static.crates.io/crates/capnp-rpc/0.27.1/download" + "sha256": "6fe464cf9820b078dfa044d6b352e9ec685a797c5fb4b265db332e5acd4093da", + "url": "https://static.crates.io/crates/capnp-rpc/0.27.2/download" } }, "targets": [ @@ -1226,7 +1276,7 @@ } } ], - "version": "0.27.1" + "version": "0.27.2" }, "capnpc 0.27.0": { "common_attrs": { @@ -1307,7 +1357,7 @@ ], "version": "0.2.4" }, - "cc 1.9.0": { + "cc 1.10.0": { "common_attrs": { "crate_features": [ "parallel" @@ -1367,8 +1417,8 @@ "package_url": "https://github.com/rust-lang/cc-rs", "repository": { "Http": { - "sha256": "877bf67ac8e52449eb2f9e98a344ea163beb70dd1f9eebe3cc5357dcfeaee4df", - "url": "https://static.crates.io/crates/cc/1.9.0/download" + "sha256": "86e055fa6e3e40ad6187ba25b6855eeb635d5271f8e0f0e1e9a5826b8d75bea0", + "url": "https://static.crates.io/crates/cc/1.10.0/download" } }, "targets": [ @@ -1379,7 +1429,7 @@ } } ], - "version": "1.9.0" + "version": "1.10.0" }, "cfg-if 1.0.5": { "common_attrs": { @@ -1976,6 +2026,40 @@ ], "version": "1.0.0" }, + "core_maths 0.1.1": { + "common_attrs": { + "deps": [ + { + "id": "libm 0.2.16", + "target": "libm" + } + ], + "edition": "2015" + }, + "library_target_name": "core_maths", + "license": "MIT", + "license_file": "LICENSE", + "license_ids": [ + "MIT" + ], + "name": "core_maths", + "package_url": "https://github.com/robertbastian/core_maths", + "repository": { + "Http": { + "sha256": "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30", + "url": "https://static.crates.io/crates/core_maths/0.1.1/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "core_maths", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.1.1" + }, "cpufeatures 0.2.17": { "common_attrs": { "deps": { @@ -2233,7 +2317,7 @@ "target": "phf" }, { - "id": "smallvec 1.16.3", + "id": "smallvec 1.16.4", "target": "smallvec" } ], @@ -2351,7 +2435,7 @@ "target": "serde" }, { - "id": "uuid 1.28.0", + "id": "uuid 1.29.0", "target": "uuid" } ], @@ -2652,6 +2736,137 @@ ], "version": "0.11.3" }, + "diplomat 0.16.1": { + "common_attrs": { + "deps": [ + { + "id": "diplomat_core 0.16.1", + "target": "diplomat_core" + }, + { + "id": "proc-macro2 1.0.107", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.47", + "target": "quote" + }, + { + "id": "syn 3.0.9", + "target": "syn" + } + ], + "edition": "2021" + }, + "library_target_name": "diplomat", + "license": "MIT OR Apache-2.0", + "license_file": "LICENSE-APACHE", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "name": "diplomat", + "package_url": "https://github.com/rust-diplomat/diplomat", + "repository": { + "Http": { + "sha256": "f8b37a6cea72eb6df5143d3e091d4c34cb0cf4046dd1ddcc082988886fe1f809", + "url": "https://static.crates.io/crates/diplomat/0.16.1/download" + } + }, + "targets": [ + { + "ProcMacro": { + "crate_name": "diplomat", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.16.1" + }, + "diplomat-runtime 0.15.2": { + "common_attrs": { + "edition": "2021" + }, + "library_target_name": "diplomat_runtime", + "license": "MIT OR Apache-2.0", + "license_file": "LICENSE-APACHE", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "name": "diplomat-runtime", + "package_url": "https://github.com/rust-diplomat/diplomat", + "repository": { + "Http": { + "sha256": "25b2f28ba90d2ffa95a531ea479769d4a6b2f5f187cd76ab5fd3bdcd64b3603e", + "url": "https://static.crates.io/crates/diplomat-runtime/0.15.2/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "diplomat_runtime", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.15.2" + }, + "diplomat_core 0.16.1": { + "common_attrs": { + "deps": [ + { + "id": "proc-macro2 1.0.107", + "target": "proc_macro2" + }, + { + "id": "quote 1.0.47", + "target": "quote" + }, + { + "id": "serde 1.0.229", + "target": "serde" + }, + { + "id": "smallvec 1.16.4", + "target": "smallvec" + }, + { + "id": "strck 1.0.0", + "target": "strck" + }, + { + "id": "syn 3.0.9", + "target": "syn" + } + ], + "edition": "2021" + }, + "library_target_name": "diplomat_core", + "license": "MIT OR Apache-2.0", + "license_file": "LICENSE-APACHE", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "name": "diplomat_core", + "package_url": "https://github.com/rust-diplomat/diplomat", + "repository": { + "Http": { + "sha256": "73b18e806f9ecb92df828d080efe47984ae1193958295d4a84fb8b32c9a1aa1b", + "url": "https://static.crates.io/crates/diplomat_core/0.16.1/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "diplomat_core", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.16.1" + }, "direct-cargo-bazel-deps 0.0.1": { "common_attrs": { "deps": [ @@ -2676,7 +2891,7 @@ "target": "capnp" }, { - "id": "capnp-rpc 0.27.1", + "id": "capnp-rpc 0.27.2", "target": "capnp_rpc" }, { @@ -2684,7 +2899,7 @@ "target": "capnpc" }, { - "id": "cc 1.9.0", + "id": "cc 1.10.0", "target": "cc" }, { @@ -2776,7 +2991,7 @@ "target": "nix" }, { - "id": "notify 8.2.0", + "id": "notify 8.2.1", "target": "notify" }, { @@ -2855,12 +3070,20 @@ "id": "syn 2.0.119", "target": "syn" }, + { + "id": "temporal_capi 0.2.6", + "target": "temporal_capi" + }, + { + "id": "temporal_rs 0.2.6", + "target": "temporal_rs" + }, { "id": "thiserror 2.0.21", "target": "thiserror" }, { - "id": "tokio 1.54.0", + "id": "tokio 1.54.1", "target": "tokio" }, { @@ -3598,40 +3821,6 @@ ], "version": "3.0.0" }, - "fsevent-sys 4.1.0": { - "common_attrs": { - "deps": [ - { - "id": "libc 0.2.191", - "target": "libc" - } - ], - "edition": "2018" - }, - "library_target_name": "fsevent_sys", - "license": "MIT", - "license_file": "LICENSE", - "license_ids": [ - "MIT" - ], - "name": "fsevent-sys", - "package_url": "https://github.com/octplane/fsevent-rust/tree/master/fsevent-sys", - "repository": { - "Http": { - "sha256": "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2", - "url": "https://static.crates.io/crates/fsevent-sys/4.1.0/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "fsevent_sys", - "crate_root": "src/lib.rs" - } - } - ], - "version": "4.1.0" - }, "funty 2.0.0": { "common_attrs": { "edition": "2018" @@ -4964,11 +5153,11 @@ "target": "pin_project_lite" }, { - "id": "smallvec 1.16.3", + "id": "smallvec 1.16.4", "target": "smallvec" }, { - "id": "tokio 1.54.0", + "id": "tokio 1.54.1", "target": "tokio" }, { @@ -5061,7 +5250,7 @@ "target": "socket2" }, { - "id": "tokio 1.54.0", + "id": "tokio 1.54.1", "target": "tokio" }, { @@ -5099,27 +5288,38 @@ ], "version": "0.1.21" }, - "icu_collections 2.3.0": { + "icu_calendar 2.3.0": { "common_attrs": { + "crate_features": [ + "compiled_data" + ], "deps": [ { - "id": "potential_utf 0.1.6", - "target": "potential_utf" + "id": "calendrical_calculations 0.2.4", + "target": "calendrical_calculations" }, { - "id": "utf8_iter 1.0.4", - "target": "utf8_iter" + "id": "icu_calendar_data 2.3.0", + "target": "icu_calendar_data" }, { - "id": "yoke 0.8.3", - "target": "yoke" + "id": "icu_locale_core 2.4.0", + "target": "icu_locale_core" }, { - "id": "zerofrom 0.1.8", - "target": "zerofrom" + "id": "icu_locale_fallback 2.3.0", + "target": "icu_locale_fallback" + }, + { + "id": "icu_provider 2.4.0", + "target": "icu_provider" + }, + { + "id": "tinystr 0.8.5", + "target": "tinystr" }, { - "id": "zerovec 0.11.8", + "id": "zerovec 0.11.9", "target": "zerovec" } ], @@ -5131,109 +5331,299 @@ } ] }, - "library_target_name": "icu_collections", + "library_target_name": "icu_calendar", "license": "Unicode-3.0", "license_file": "LICENSE", "license_ids": [ "Unicode-3.0" ], - "name": "icu_collections", + "name": "icu_calendar", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513", - "url": "https://static.crates.io/crates/icu_collections/2.3.0/download" + "sha256": "58655df2f728e46e4eee80bddebefacf52ec3e77cdb925014b47c5a5905eb55c", + "url": "https://static.crates.io/crates/icu_calendar/2.3.0/download" } }, "targets": [ { "Library": { - "crate_name": "icu_collections", + "crate_name": "icu_calendar", "crate_root": "src/lib.rs" } } ], "version": "2.3.0" }, - "icu_locale_core 2.3.0": { + "icu_calendar_data 2.3.0": { + "build_script_attrs": {}, "common_attrs": { - "crate_features": [ - "zerovec" - ], - "deps": [ - { - "id": "litemap 0.8.3", - "target": "litemap" - }, - { - "id": "tinystr 0.8.4", - "target": "tinystr" - }, - { - "id": "writeable 0.6.4", - "target": "writeable" - }, - { - "id": "zerovec 0.11.8", - "target": "zerovec" - } - ], "edition": "2024", - "proc_macro_deps": [ - { - "id": "displaydoc 0.2.7", - "target": "displaydoc" - } + "extra_deps": [ + ":build_script_build" ] }, - "library_target_name": "icu_locale_core", + "library_target_name": "icu_calendar_data", "license": "Unicode-3.0", "license_file": "LICENSE", "license_ids": [ "Unicode-3.0" ], - "name": "icu_locale_core", + "name": "icu_calendar_data", "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb", - "url": "https://static.crates.io/crates/icu_locale_core/2.3.0/download" + "sha256": "dc00caaa3fb3201ff7a18aa458e8c3ab042b9da154cfdf948bdde3936c31c36e", + "url": "https://static.crates.io/crates/icu_calendar_data/2.3.0/download" } }, "targets": [ { "Library": { - "crate_name": "icu_locale_core", + "crate_name": "icu_calendar_data", "crate_root": "src/lib.rs" } - } - ], - "version": "2.3.0" - }, - "icu_normalizer 2.3.0": { - "common_attrs": { + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs" + } + } + ], + "version": "2.3.0" + }, + "icu_collections 2.4.0": { + "common_attrs": { + "deps": [ + { + "id": "potential_utf 0.1.6", + "target": "potential_utf" + }, + { + "id": "utf8_iter 1.0.4", + "target": "utf8_iter" + }, + { + "id": "yoke 0.8.4", + "target": "yoke" + }, + { + "id": "zerofrom 0.1.8", + "target": "zerofrom" + }, + { + "id": "zerovec 0.11.9", + "target": "zerovec" + } + ], + "edition": "2024", + "proc_macro_deps": [ + { + "id": "displaydoc 0.2.7", + "target": "displaydoc" + } + ] + }, + "library_target_name": "icu_collections", + "license": "Unicode-3.0", + "license_file": "LICENSE", + "license_ids": [ + "Unicode-3.0" + ], + "name": "icu_collections", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "sha256": "fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd", + "url": "https://static.crates.io/crates/icu_collections/2.4.0/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_collections", + "crate_root": "src/lib.rs" + } + } + ], + "version": "2.4.0" + }, + "icu_locale_core 2.4.0": { + "common_attrs": { + "crate_features": [ + "alloc", + "zerovec" + ], + "deps": [ + { + "id": "litemap 0.8.3", + "target": "litemap" + }, + { + "id": "tinystr 0.8.5", + "target": "tinystr" + }, + { + "id": "writeable 0.6.4", + "target": "writeable" + }, + { + "id": "zerovec 0.11.9", + "target": "zerovec" + } + ], + "edition": "2024", + "proc_macro_deps": [ + { + "id": "displaydoc 0.2.7", + "target": "displaydoc" + } + ] + }, + "library_target_name": "icu_locale_core", + "license": "Unicode-3.0", + "license_file": "LICENSE", + "license_ids": [ + "Unicode-3.0" + ], + "name": "icu_locale_core", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "sha256": "25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0", + "url": "https://static.crates.io/crates/icu_locale_core/2.4.0/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_locale_core", + "crate_root": "src/lib.rs" + } + } + ], + "version": "2.4.0" + }, + "icu_locale_fallback 2.3.0": { + "common_attrs": { + "crate_features": [ + "compiled_data" + ], + "deps": [ + { + "id": "icu_locale_core 2.4.0", + "target": "icu_locale_core" + }, + { + "id": "icu_locale_fallback_data 2.3.0", + "target": "icu_locale_fallback_data" + }, + { + "id": "icu_provider 2.4.0", + "target": "icu_provider" + }, + { + "id": "potential_utf 0.1.6", + "target": "potential_utf" + }, + { + "id": "tinystr 0.8.5", + "target": "tinystr" + }, + { + "id": "zerovec 0.11.9", + "target": "zerovec" + } + ], + "edition": "2024" + }, + "library_target_name": "icu_locale_fallback", + "license": "Unicode-3.0", + "license_file": "LICENSE", + "license_ids": [ + "Unicode-3.0" + ], + "name": "icu_locale_fallback", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "sha256": "251af8e57c9400e3eb58242fe5b8b1152b2a64fdf4cf632f923c38ccee6f2fa9", + "url": "https://static.crates.io/crates/icu_locale_fallback/2.3.0/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_locale_fallback", + "crate_root": "src/lib.rs" + } + } + ], + "version": "2.3.0" + }, + "icu_locale_fallback_data 2.3.0": { + "build_script_attrs": {}, + "common_attrs": { + "edition": "2024", + "extra_deps": [ + ":build_script_build" + ] + }, + "library_target_name": "icu_locale_fallback_data", + "license": "Unicode-3.0", + "license_file": "LICENSE", + "license_ids": [ + "Unicode-3.0" + ], + "name": "icu_locale_fallback_data", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "sha256": "decf2a22ec8fa68f1a0c1129a3f8583f8f8bc24e8b9ccbe98ead99f62a4dc3a8", + "url": "https://static.crates.io/crates/icu_locale_fallback_data/2.3.0/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "icu_locale_fallback_data", + "crate_root": "src/lib.rs" + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs" + } + } + ], + "version": "2.3.0" + }, + "icu_normalizer 2.4.0": { + "common_attrs": { "crate_features": [ "compiled_data" ], "deps": [ { - "id": "icu_collections 2.3.0", + "id": "icu_collections 2.4.0", "target": "icu_collections" }, { - "id": "icu_normalizer_data 2.3.0", + "id": "icu_normalizer_data 2.4.0", "target": "icu_normalizer_data" }, { - "id": "icu_provider 2.3.1", + "id": "icu_provider 2.4.0", "target": "icu_provider" }, { - "id": "smallvec 1.16.3", + "id": "smallvec 1.16.4", "target": "smallvec" }, { - "id": "zerovec 0.11.8", + "id": "zerovec 0.11.9", "target": "zerovec" } ], @@ -5249,8 +5639,8 @@ "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f", - "url": "https://static.crates.io/crates/icu_normalizer/2.3.0/download" + "sha256": "404a3b8c486f205c87fe7f23ab6894d84a4ad76d6e4671ae1981ba7def87c599", + "url": "https://static.crates.io/crates/icu_normalizer/2.4.0/download" } }, "targets": [ @@ -5261,9 +5651,9 @@ } } ], - "version": "2.3.0" + "version": "2.4.0" }, - "icu_normalizer_data 2.3.0": { + "icu_normalizer_data 2.4.0": { "build_script_attrs": {}, "common_attrs": { "edition": "2024", @@ -5281,8 +5671,8 @@ "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0", - "url": "https://static.crates.io/crates/icu_normalizer_data/2.3.0/download" + "sha256": "20f0088bfb7441f7a37fa0c9e20cb1e9cba1cac6b9ce8cd2a6dc44294f8e8cbc", + "url": "https://static.crates.io/crates/icu_normalizer_data/2.4.0/download" } }, "targets": [ @@ -5299,28 +5689,28 @@ } } ], - "version": "2.3.0" + "version": "2.4.0" }, - "icu_properties 2.3.0": { + "icu_properties 2.4.0": { "common_attrs": { "crate_features": [ "compiled_data" ], "deps": [ { - "id": "icu_collections 2.3.0", + "id": "icu_collections 2.4.0", "target": "icu_collections" }, { - "id": "icu_locale_core 2.3.0", + "id": "icu_locale_core 2.4.0", "target": "icu_locale_core" }, { - "id": "icu_properties_data 2.3.0", + "id": "icu_properties_data 2.4.0", "target": "icu_properties_data" }, { - "id": "icu_provider 2.3.1", + "id": "icu_provider 2.4.0", "target": "icu_provider" }, { @@ -5328,7 +5718,7 @@ "target": "zerotrie" }, { - "id": "zerovec 0.11.8", + "id": "zerovec 0.11.9", "target": "zerovec" } ], @@ -5350,8 +5740,8 @@ "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148", - "url": "https://static.crates.io/crates/icu_properties/2.3.0/download" + "sha256": "2ea83d991c56158f7cf898bf86436c1dfe7c07ee82fe88951f2695c9f37a379f", + "url": "https://static.crates.io/crates/icu_properties/2.4.0/download" } }, "targets": [ @@ -5362,9 +5752,9 @@ } } ], - "version": "2.3.0" + "version": "2.4.0" }, - "icu_properties_data 2.3.0": { + "icu_properties_data 2.4.0": { "build_script_attrs": {}, "common_attrs": { "edition": "2024", @@ -5382,8 +5772,8 @@ "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa", - "url": "https://static.crates.io/crates/icu_properties_data/2.3.0/download" + "sha256": "b98f29af82d02b163fe50161388350e743bb3107cc8e8c2f7314cb505faddfcf", + "url": "https://static.crates.io/crates/icu_properties_data/2.4.0/download" } }, "targets": [ @@ -5400,24 +5790,29 @@ } } ], - "version": "2.3.0" + "version": "2.4.0" }, - "icu_provider 2.3.1": { + "icu_provider 2.4.0": { "common_attrs": { "crate_features": [ + "alloc", "baked" ], "deps": [ { - "id": "icu_locale_core 2.3.0", + "id": "icu_locale_core 2.4.0", "target": "icu_locale_core" }, + { + "id": "stable_deref_trait 1.2.1", + "target": "stable_deref_trait" + }, { "id": "writeable 0.6.4", "target": "writeable" }, { - "id": "yoke 0.8.3", + "id": "yoke 0.8.4", "target": "yoke" }, { @@ -5429,7 +5824,7 @@ "target": "zerotrie" }, { - "id": "zerovec 0.11.8", + "id": "zerovec 0.11.9", "target": "zerovec" } ], @@ -5451,8 +5846,8 @@ "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73", - "url": "https://static.crates.io/crates/icu_provider/2.3.1/download" + "sha256": "413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514", + "url": "https://static.crates.io/crates/icu_provider/2.4.0/download" } }, "targets": [ @@ -5463,7 +5858,7 @@ } } ], - "version": "2.3.1" + "version": "2.4.0" }, "idna 1.1.0": { "common_attrs": { @@ -5478,7 +5873,7 @@ "target": "idna_adapter" }, { - "id": "smallvec 1.16.3", + "id": "smallvec 1.16.4", "target": "smallvec" }, { @@ -5520,11 +5915,11 @@ ], "deps": [ { - "id": "icu_normalizer 2.3.0", + "id": "icu_normalizer 2.4.0", "target": "icu_normalizer" }, { - "id": "icu_properties 2.3.0", + "id": "icu_properties 2.4.0", "target": "icu_properties" } ], @@ -5861,6 +6256,38 @@ ], "version": "1.0.18" }, + "ixdtf 0.6.6": { + "common_attrs": { + "crate_features": [ + "default", + "duration" + ], + "edition": "2021" + }, + "library_target_name": "ixdtf", + "license": "Unicode-3.0", + "license_file": "LICENSE", + "license_ids": [ + "Unicode-3.0" + ], + "name": "ixdtf", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "sha256": "4d3667095d64c3ecffc96463a21157b04bf3e252f6e8d5750b20c02e33c194e3", + "url": "https://static.crates.io/crates/ixdtf/0.6.6/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ixdtf", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.6.6" + }, "jni 0.22.4": { "build_script_attrs": { "deps": [ @@ -6429,6 +6856,9 @@ }, "litemap 0.8.3": { "common_attrs": { + "crate_features": [ + "alloc" + ], "edition": "2021" }, "library_target_name": "litemap", @@ -6484,7 +6914,7 @@ ], "version": "0.4.34" }, - "lol_html 3.0.1": { + "lol_html 3.0.2": { "common_attrs": { "deps": [ { @@ -6545,7 +6975,7 @@ "repository": { "Git": { "commitish": { - "Rev": "608cc4a66b7ab4fcbe1bbdeb25df8f265572b11c" + "Rev": "c2cfb7b086ccaca10308365a3ed7205cba98608b" }, "remote": "https://github.com/cloudflare/lol-html" } @@ -6558,7 +6988,7 @@ } } ], - "version": "3.0.1" + "version": "3.0.2" }, "lol_html_c_api 1.4.0": { "build_script_attrs": { @@ -6579,7 +7009,7 @@ "target": "libc" }, { - "id": "lol_html 3.0.1", + "id": "lol_html 3.0.2", "target": "lol_html" }, { @@ -6600,7 +7030,7 @@ "repository": { "Git": { "commitish": { - "Rev": "608cc4a66b7ab4fcbe1bbdeb25df8f265572b11c" + "Rev": "c2cfb7b086ccaca10308365a3ed7205cba98608b" }, "remote": "https://github.com/cloudflare/lol-html", "strip_prefix": "c-api" @@ -6933,12 +7363,14 @@ ], "version": "0.31.3" }, - "notify 8.2.0": { + "notify 8.2.1": { "common_attrs": { "crate_features": [ "default", "fsevent-sys", - "macos_fsevent" + "macos_fsevent", + "objc2-core-foundation", + "objc2-core-services" ], "deps": { "common": [ @@ -6962,8 +7394,12 @@ "selects": { "aarch64-apple-darwin": [ { - "id": "fsevent-sys 4.1.0", - "target": "fsevent_sys" + "id": "objc2-core-foundation 0.3.2", + "target": "objc2_core_foundation" + }, + { + "id": "objc2-core-services 0.3.2", + "target": "objc2_core_services" } ], "cfg(any(target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\", target_os = \"dragonflybsd\", target_os = \"ios\"))": [ @@ -6994,14 +7430,18 @@ ], "cfg(windows)": [ { - "id": "windows-sys 0.60.2", + "id": "windows-sys 0.61.2", "target": "windows_sys" } ], "x86_64-apple-darwin": [ { - "id": "fsevent-sys 4.1.0", - "target": "fsevent_sys" + "id": "objc2-core-foundation 0.3.2", + "target": "objc2_core_foundation" + }, + { + "id": "objc2-core-services 0.3.2", + "target": "objc2_core_services" } ] } @@ -7018,8 +7458,8 @@ "package_url": "https://github.com/notify-rs/notify.git", "repository": { "Http": { - "sha256": "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3", - "url": "https://static.crates.io/crates/notify/8.2.0/download" + "sha256": "82f812702fbc75d35416d3f884e04925be7e9498f4eceea2e24ba34559284674", + "url": "https://static.crates.io/crates/notify/8.2.1/download" } }, "targets": [ @@ -7030,7 +7470,7 @@ } } ], - "version": "8.2.0" + "version": "8.2.1" }, "notify-types 2.1.0": { "common_attrs": { @@ -7250,47 +7690,139 @@ ], "version": "1.17.0" }, - "once_cell 1.21.4": { + "objc2-core-foundation 0.3.2": { "common_attrs": { "crate_features": [ + "CFArray", + "CFDate", + "CFError", + "CFRunLoop", + "CFString", + "CFURL", + "CFUUID", "alloc", - "default", - "race", + "bitflags", "std" ], + "deps": [ + { + "id": "bitflags 2.13.2", + "target": "bitflags" + } + ], "edition": "2021" }, - "library_target_name": "once_cell", - "license": "MIT OR Apache-2.0", - "license_file": "LICENSE-APACHE", + "library_target_name": "objc2_core_foundation", + "license": "Zlib OR Apache-2.0 OR MIT", "license_ids": [ "Apache-2.0", - "MIT" + "MIT", + "Zlib" ], - "name": "once_cell", - "package_url": "https://github.com/matklad/once_cell", + "name": "objc2-core-foundation", + "package_url": "https://github.com/madsmtm/objc2", "repository": { "Http": { - "sha256": "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50", - "url": "https://static.crates.io/crates/once_cell/1.21.4/download" + "sha256": "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536", + "url": "https://static.crates.io/crates/objc2-core-foundation/0.3.2/download" } }, "targets": [ { "Library": { - "crate_name": "once_cell", + "crate_name": "objc2_core_foundation", "crate_root": "src/lib.rs" } } ], - "version": "1.21.4" + "version": "0.3.2" }, - "openssl-probe 0.2.1": { + "objc2-core-services 0.3.2": { "common_attrs": { - "edition": "2021" - }, - "library_target_name": "openssl_probe", - "license": "MIT OR Apache-2.0", + "crate_features": [ + "FSEvents", + "alloc", + "libc", + "std" + ], + "deps": [ + { + "id": "libc 0.2.191", + "target": "libc" + }, + { + "id": "objc2-core-foundation 0.3.2", + "target": "objc2_core_foundation" + } + ], + "edition": "2021" + }, + "library_target_name": "objc2_core_services", + "license": "Zlib OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT", + "Zlib" + ], + "name": "objc2-core-services", + "package_url": "https://github.com/madsmtm/objc2", + "repository": { + "Http": { + "sha256": "583300ad934cba24ff5292aee751ecc070f7ca6b39a574cc21b7b5e588e06a0b", + "url": "https://static.crates.io/crates/objc2-core-services/0.3.2/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "objc2_core_services", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.3.2" + }, + "once_cell 1.21.4": { + "common_attrs": { + "crate_features": [ + "alloc", + "default", + "race", + "std" + ], + "edition": "2021" + }, + "library_target_name": "once_cell", + "license": "MIT OR Apache-2.0", + "license_file": "LICENSE-APACHE", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "name": "once_cell", + "package_url": "https://github.com/matklad/once_cell", + "repository": { + "Http": { + "sha256": "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50", + "url": "https://static.crates.io/crates/once_cell/1.21.4/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "once_cell", + "crate_root": "src/lib.rs" + } + } + ], + "version": "1.21.4" + }, + "openssl-probe 0.2.2": { + "common_attrs": { + "edition": "2021" + }, + "library_target_name": "openssl_probe", + "license": "MIT OR Apache-2.0", "license_file": "LICENSE-APACHE", "license_ids": [ "Apache-2.0", @@ -7300,8 +7832,8 @@ "package_url": "https://github.com/rustls/openssl-probe", "repository": { "Http": { - "sha256": "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe", - "url": "https://static.crates.io/crates/openssl-probe/0.2.1/download" + "sha256": "7e036b411754132fd6b74e94b74e9a13c5cf606fa93d1885c35860d3060820b1", + "url": "https://static.crates.io/crates/openssl-probe/0.2.2/download" } }, "targets": [ @@ -7312,7 +7844,7 @@ } } ], - "version": "0.2.1" + "version": "0.2.2" }, "outref 0.5.2": { "common_attrs": { @@ -7931,11 +8463,17 @@ "potential_utf 0.1.6": { "common_attrs": { "crate_features": [ + "alloc", + "writeable", "zerovec" ], "deps": [ { - "id": "zerovec 0.11.8", + "id": "writeable 0.6.4", + "target": "writeable" + }, + { + "id": "zerovec 0.11.9", "target": "zerovec" } ], @@ -8688,11 +9226,49 @@ ], "version": "0.8.11" }, + "resb 0.1.2": { + "common_attrs": { + "deps": [ + { + "id": "potential_utf 0.1.6", + "target": "potential_utf" + }, + { + "id": "serde_core 1.0.229", + "target": "serde_core" + } + ], + "edition": "2021" + }, + "library_target_name": "resb", + "license": "Unicode-3.0", + "license_file": "LICENSE", + "license_ids": [ + "Unicode-3.0" + ], + "name": "resb", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "sha256": "22d392791f3c6802a1905a509e9d1a6039cbbcb5e9e00e5a6d3661f7c874f390", + "url": "https://static.crates.io/crates/resb/0.1.2/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "resb", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.1.2" + }, "ring 0.17.14": { "build_script_attrs": { "deps": [ { - "id": "cc 1.9.0", + "id": "cc 1.10.0", "target": "cc" } ], @@ -9328,7 +9904,7 @@ "selects": { "cfg(all(unix, not(target_os = \"macos\")))": [ { - "id": "openssl-probe 0.2.1", + "id": "openssl-probe 0.2.2", "target": "openssl_probe" } ], @@ -9462,7 +10038,7 @@ "target": "webpki" }, { - "id": "webpki-root-certs 1.0.10", + "id": "webpki-root-certs 1.0.11", "target": "webpki_root_certs" } ], @@ -9943,7 +10519,7 @@ "target": "servo_arc" }, { - "id": "smallvec 1.16.3", + "id": "smallvec 1.16.4", "target": "smallvec" } ], @@ -10047,6 +10623,7 @@ "build_script_attrs": {}, "common_attrs": { "crate_features": [ + "alloc", "default", "derive", "rc", @@ -10105,6 +10682,7 @@ "build_script_attrs": {}, "common_attrs": { "crate_features": [ + "alloc", "default", "rc", "result", @@ -10686,7 +11264,7 @@ ], "version": "0.4.12" }, - "smallvec 1.16.3": { + "smallvec 1.16.4": { "common_attrs": { "crate_features": [ "const_generics", @@ -10705,8 +11283,8 @@ "package_url": "https://github.com/servo/rust-smallvec", "repository": { "Http": { - "sha256": "5b3dc8af474f516a851ff4bd12db780f948b9250ad37211e4eec0bccea54e01b", - "url": "https://static.crates.io/crates/smallvec/1.16.3/download" + "sha256": "d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8", + "url": "https://static.crates.io/crates/smallvec/1.16.4/download" } }, "targets": [ @@ -10717,7 +11295,7 @@ } } ], - "version": "1.16.3" + "version": "1.16.4" }, "socket2 0.6.5": { "common_attrs": { @@ -10869,6 +11447,43 @@ ], "version": "1.1.0" }, + "strck 1.0.0": { + "common_attrs": { + "crate_features": [ + "ident" + ], + "deps": [ + { + "id": "unicode-ident 1.0.27", + "target": "unicode_ident" + } + ], + "edition": "2021" + }, + "library_target_name": "strck", + "license": "MIT", + "license_file": "LICENSE", + "license_ids": [ + "MIT" + ], + "name": "strck", + "package_url": "https://github.com/QnnOkabayashi/strck", + "repository": { + "Http": { + "sha256": "42316e70da376f3d113a68d138a60d8a9883c604fe97942721ec2068dab13a9f", + "url": "https://static.crates.io/crates/strck/1.0.0/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "strck", + "crate_root": "src/lib.rs" + } + } + ], + "version": "1.0.0" + }, "string_enum 1.0.2": { "common_attrs": { "deps": [ @@ -12421,6 +13036,152 @@ ], "version": "1.0.1" }, + "temporal_capi 0.2.6": { + "additive_build_file_content": "\nload(\"@rules_cc//cc:cc_library.bzl\", \"cc_library\")\n\ncc_library(\n name = \"cpp_bindings\",\n hdrs = glob([\"bindings/cpp/**/*.hpp\"]),\n strip_include_prefix = \"bindings/cpp\",\n)\n", + "common_attrs": { + "crate_features": [ + "zoneinfo64" + ], + "deps": [ + { + "id": "diplomat-runtime 0.15.2", + "target": "diplomat_runtime" + }, + { + "id": "icu_calendar 2.3.0", + "target": "icu_calendar" + }, + { + "id": "icu_locale_core 2.4.0", + "target": "icu_locale_core" + }, + { + "id": "num-traits 0.2.19", + "target": "num_traits" + }, + { + "id": "temporal_rs 0.2.6", + "target": "temporal_rs" + }, + { + "id": "timezone_provider 0.2.6", + "target": "timezone_provider" + }, + { + "id": "writeable 0.6.4", + "target": "writeable" + }, + { + "id": "zoneinfo64 0.3.0", + "target": "zoneinfo64" + } + ], + "edition": "2021", + "proc_macro_deps": [ + { + "id": "diplomat 0.16.1", + "target": "diplomat" + } + ] + }, + "extra_aliased_targets": { + "temporal_capi_cpp_bindings": "cpp_bindings" + }, + "library_target_name": "temporal_capi", + "license": "MIT OR Apache-2.0", + "license_file": "LICENSE-Apache", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "name": "temporal_capi", + "package_url": "https://github.com/boa-dev/temporal", + "repository": { + "Http": { + "sha256": "f48eb9ca4ca22caaa48d1e7a534ad3fd598a23d1a71945e8ad5ac0be501fa5f2", + "url": "https://static.crates.io/crates/temporal_capi/0.2.6/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "temporal_capi", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.2.6" + }, + "temporal_rs 0.2.6": { + "common_attrs": { + "crate_features": [ + "float64_representable_durations" + ], + "deps": [ + { + "id": "calendrical_calculations 0.2.4", + "target": "calendrical_calculations" + }, + { + "id": "core_maths 0.1.1", + "target": "core_maths" + }, + { + "id": "icu_calendar 2.3.0", + "target": "icu_calendar" + }, + { + "id": "icu_locale_core 2.4.0", + "target": "icu_locale_core" + }, + { + "id": "ixdtf 0.6.6", + "target": "ixdtf" + }, + { + "id": "num-traits 0.2.19", + "target": "num_traits" + }, + { + "id": "timezone_provider 0.2.6", + "target": "timezone_provider" + }, + { + "id": "tinystr 0.8.5", + "target": "tinystr" + }, + { + "id": "writeable 0.6.4", + "target": "writeable" + } + ], + "edition": "2021" + }, + "library_target_name": "temporal_rs", + "license": "MIT OR Apache-2.0", + "license_file": "LICENSE-Apache", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "name": "temporal_rs", + "package_url": "https://github.com/boa-dev/temporal", + "repository": { + "Http": { + "sha256": "1a978fef907a27736827d336c0bfaab14fb8a7509dd6dc2b43c44e51d59aca5b", + "url": "https://static.crates.io/crates/temporal_rs/0.2.6/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "temporal_rs", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.2.6" + }, "termcolor 1.4.1": { "common_attrs": { "deps": { @@ -12553,19 +13314,71 @@ ], "version": "2.0.21" }, - "tinystr 0.8.4": { + "timezone_provider 0.2.6": { "common_attrs": { "crate_features": [ - "zerovec" + "zoneinfo64" ], "deps": [ { - "id": "zerovec 0.11.8", + "id": "tinystr 0.8.5", + "target": "tinystr" + }, + { + "id": "zerotrie 0.2.5", + "target": "zerotrie" + }, + { + "id": "zerovec 0.11.9", "target": "zerovec" + }, + { + "id": "zoneinfo64 0.3.0", + "target": "zoneinfo64" } ], - "edition": "2021", - "proc_macro_deps": [ + "edition": "2021" + }, + "library_target_name": "timezone_provider", + "license": "MIT OR Apache-2.0", + "license_file": "LICENSE-Apache", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "name": "timezone_provider", + "package_url": "https://github.com/boa-dev/temporal", + "repository": { + "Http": { + "sha256": "89ec4f4eebb4817fde02a411aedc7ac5f66c89c68c49e5d4b17a8139f077af52", + "url": "https://static.crates.io/crates/timezone_provider/0.2.6/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "timezone_provider", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.2.6" + }, + "tinystr 0.8.5": { + "common_attrs": { + "crate_features": [ + "alloc", + "default", + "zerovec" + ], + "deps": [ + { + "id": "zerovec 0.11.9", + "target": "zerovec" + } + ], + "edition": "2021", + "proc_macro_deps": [ { "id": "displaydoc 0.2.7", "target": "displaydoc" @@ -12582,8 +13395,8 @@ "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643", - "url": "https://static.crates.io/crates/tinystr/0.8.4/download" + "sha256": "abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a", + "url": "https://static.crates.io/crates/tinystr/0.8.5/download" } }, "targets": [ @@ -12594,7 +13407,7 @@ } } ], - "version": "0.8.4" + "version": "0.8.5" }, "tinyvec 1.13.3": { "common_attrs": { @@ -12630,7 +13443,7 @@ ], "version": "1.13.3" }, - "tokio 1.54.0": { + "tokio 1.54.1": { "common_attrs": { "crate_features": { "common": [ @@ -12734,8 +13547,8 @@ "package_url": "https://github.com/tokio-rs/tokio", "repository": { "Http": { - "sha256": "a0c168a474b95bfecfe908a65d4bdffc523144b649a74c09c286afb35d53e0bc", - "url": "https://static.crates.io/crates/tokio/1.54.0/download" + "sha256": "b52fd3255258d26fac7264ab5a76b53c13367136dc011d3d6ad4f8ed070396a3", + "url": "https://static.crates.io/crates/tokio/1.54.1/download" } }, "targets": [ @@ -12746,7 +13559,7 @@ } } ], - "version": "1.54.0" + "version": "1.54.1" }, "tokio-rustls 0.26.6": { "common_attrs": { @@ -12760,7 +13573,7 @@ "target": "rustls" }, { - "id": "tokio 1.54.0", + "id": "tokio 1.54.1", "target": "tokio" } ], @@ -13397,7 +14210,7 @@ ], "version": "1.0.4" }, - "uuid 1.28.0": { + "uuid 1.29.0": { "common_attrs": { "crate_features": [ "default", @@ -13416,8 +14229,8 @@ "package_url": "https://github.com/uuid-rs/uuid", "repository": { "Http": { - "sha256": "7cc1186384beb7dd8eedea376413fd654937285ea6c9cfbb928dc3043ea4b606", - "url": "https://static.crates.io/crates/uuid/1.28.0/download" + "sha256": "4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514", + "url": "https://static.crates.io/crates/uuid/1.29.0/download" } }, "targets": [ @@ -13428,7 +14241,7 @@ } } ], - "version": "1.28.0" + "version": "1.29.0" }, "version_check 0.9.5": { "common_attrs": { @@ -13844,7 +14657,7 @@ ], "version": "0.2.129" }, - "webpki-root-certs 1.0.10": { + "webpki-root-certs 1.0.11": { "common_attrs": { "deps": [ { @@ -13865,8 +14678,8 @@ "package_url": "https://github.com/rustls/webpki-roots", "repository": { "Http": { - "sha256": "58ec80e73fd8baf57bf0d9615554c75348bda990d6d5bbeab964dd068319fecb", - "url": "https://static.crates.io/crates/webpki-root-certs/1.0.10/download" + "sha256": "e49d0e65abc00c142e8f9428da991da9f1a250c39be97459901eb12b9b49f62a", + "url": "https://static.crates.io/crates/webpki-root-certs/1.0.11/download" } }, "targets": [ @@ -13877,7 +14690,7 @@ } } ], - "version": "1.0.10" + "version": "1.0.11" }, "winapi-util 0.1.11": { "common_attrs": { @@ -13983,53 +14796,6 @@ ], "version": "0.52.0" }, - "windows-sys 0.60.2": { - "common_attrs": { - "crate_features": [ - "Win32", - "Win32_Foundation", - "Win32_Security", - "Win32_Storage", - "Win32_Storage_FileSystem", - "Win32_System", - "Win32_System_IO", - "Win32_System_Threading", - "Win32_System_WindowsProgramming", - "default" - ], - "deps": [ - { - "id": "windows-targets 0.53.5", - "target": "windows_targets" - } - ], - "edition": "2021" - }, - "library_target_name": "windows_sys", - "license": "MIT OR Apache-2.0", - "license_file": "license-apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "name": "windows-sys", - "package_url": "https://github.com/microsoft/windows-rs", - "repository": { - "Http": { - "sha256": "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb", - "url": "https://static.crates.io/crates/windows-sys/0.60.2/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "windows_sys", - "crate_root": "src/lib.rs" - } - } - ], - "version": "0.60.2" - }, "windows-sys 0.61.2": { "common_attrs": { "crate_features": { @@ -14178,94 +14944,6 @@ ], "version": "0.52.6" }, - "windows-targets 0.53.5": { - "common_attrs": { - "deps": { - "common": [], - "selects": { - "aarch64-pc-windows-gnullvm": [ - { - "id": "windows_aarch64_gnullvm 0.53.1", - "target": "windows_aarch64_gnullvm" - } - ], - "cfg(all(any(target_arch = \"x86_64\", target_arch = \"arm64ec\"), target_env = \"msvc\", not(windows_raw_dylib)))": [ - { - "id": "windows_x86_64_msvc 0.53.1", - "target": "windows_x86_64_msvc" - } - ], - "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": [ - { - "id": "windows_aarch64_msvc 0.53.1", - "target": "windows_aarch64_msvc" - } - ], - "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ - { - "id": "windows_i686_gnu 0.53.1", - "target": "windows_i686_gnu" - } - ], - "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": [ - { - "id": "windows_i686_msvc 0.53.1", - "target": "windows_i686_msvc" - } - ], - "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": [ - { - "id": "windows_x86_64_gnu 0.53.1", - "target": "windows_x86_64_gnu" - } - ], - "cfg(windows_raw_dylib)": [ - { - "id": "windows-link 0.2.1", - "target": "windows_link" - } - ], - "i686-pc-windows-gnullvm": [ - { - "id": "windows_i686_gnullvm 0.53.1", - "target": "windows_i686_gnullvm" - } - ], - "x86_64-pc-windows-gnullvm": [ - { - "id": "windows_x86_64_gnullvm 0.53.1", - "target": "windows_x86_64_gnullvm" - } - ] - } - }, - "edition": "2021" - }, - "library_target_name": "windows_targets", - "license": "MIT OR Apache-2.0", - "license_file": "license-apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "name": "windows-targets", - "package_url": "https://github.com/microsoft/windows-rs", - "repository": { - "Http": { - "sha256": "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3", - "url": "https://static.crates.io/crates/windows-targets/0.53.5/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "windows_targets", - "crate_root": "src/lib.rs" - } - } - ], - "version": "0.53.5" - }, "windows_aarch64_gnullvm 0.52.6": { "build_script_attrs": {}, "common_attrs": { @@ -14305,45 +14983,6 @@ ], "version": "0.52.6" }, - "windows_aarch64_gnullvm 0.53.1": { - "build_script_attrs": {}, - "common_attrs": { - "edition": "2021", - "extra_deps": [ - ":build_script_build" - ] - }, - "library_target_name": "windows_aarch64_gnullvm", - "license": "MIT OR Apache-2.0", - "license_file": "license-apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "name": "windows_aarch64_gnullvm", - "package_url": "https://github.com/microsoft/windows-rs", - "repository": { - "Http": { - "sha256": "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53", - "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.53.1/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "windows_aarch64_gnullvm", - "crate_root": "src/lib.rs" - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs" - } - } - ], - "version": "0.53.1" - }, "windows_aarch64_msvc 0.52.6": { "build_script_attrs": {}, "common_attrs": { @@ -14383,45 +15022,6 @@ ], "version": "0.52.6" }, - "windows_aarch64_msvc 0.53.1": { - "build_script_attrs": {}, - "common_attrs": { - "edition": "2021", - "extra_deps": [ - ":build_script_build" - ] - }, - "library_target_name": "windows_aarch64_msvc", - "license": "MIT OR Apache-2.0", - "license_file": "license-apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "name": "windows_aarch64_msvc", - "package_url": "https://github.com/microsoft/windows-rs", - "repository": { - "Http": { - "sha256": "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006", - "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.53.1/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "windows_aarch64_msvc", - "crate_root": "src/lib.rs" - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs" - } - } - ], - "version": "0.53.1" - }, "windows_i686_gnu 0.52.6": { "build_script_attrs": {}, "common_attrs": { @@ -14461,45 +15061,6 @@ ], "version": "0.52.6" }, - "windows_i686_gnu 0.53.1": { - "build_script_attrs": {}, - "common_attrs": { - "edition": "2021", - "extra_deps": [ - ":build_script_build" - ] - }, - "library_target_name": "windows_i686_gnu", - "license": "MIT OR Apache-2.0", - "license_file": "license-apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "name": "windows_i686_gnu", - "package_url": "https://github.com/microsoft/windows-rs", - "repository": { - "Http": { - "sha256": "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3", - "url": "https://static.crates.io/crates/windows_i686_gnu/0.53.1/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "windows_i686_gnu", - "crate_root": "src/lib.rs" - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs" - } - } - ], - "version": "0.53.1" - }, "windows_i686_gnullvm 0.52.6": { "build_script_attrs": {}, "common_attrs": { @@ -14539,45 +15100,6 @@ ], "version": "0.52.6" }, - "windows_i686_gnullvm 0.53.1": { - "build_script_attrs": {}, - "common_attrs": { - "edition": "2021", - "extra_deps": [ - ":build_script_build" - ] - }, - "library_target_name": "windows_i686_gnullvm", - "license": "MIT OR Apache-2.0", - "license_file": "license-apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "name": "windows_i686_gnullvm", - "package_url": "https://github.com/microsoft/windows-rs", - "repository": { - "Http": { - "sha256": "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c", - "url": "https://static.crates.io/crates/windows_i686_gnullvm/0.53.1/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "windows_i686_gnullvm", - "crate_root": "src/lib.rs" - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs" - } - } - ], - "version": "0.53.1" - }, "windows_i686_msvc 0.52.6": { "build_script_attrs": {}, "common_attrs": { @@ -14617,45 +15139,6 @@ ], "version": "0.52.6" }, - "windows_i686_msvc 0.53.1": { - "build_script_attrs": {}, - "common_attrs": { - "edition": "2021", - "extra_deps": [ - ":build_script_build" - ] - }, - "library_target_name": "windows_i686_msvc", - "license": "MIT OR Apache-2.0", - "license_file": "license-apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "name": "windows_i686_msvc", - "package_url": "https://github.com/microsoft/windows-rs", - "repository": { - "Http": { - "sha256": "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2", - "url": "https://static.crates.io/crates/windows_i686_msvc/0.53.1/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "windows_i686_msvc", - "crate_root": "src/lib.rs" - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs" - } - } - ], - "version": "0.53.1" - }, "windows_x86_64_gnu 0.52.6": { "build_script_attrs": {}, "common_attrs": { @@ -14695,45 +15178,6 @@ ], "version": "0.52.6" }, - "windows_x86_64_gnu 0.53.1": { - "build_script_attrs": {}, - "common_attrs": { - "edition": "2021", - "extra_deps": [ - ":build_script_build" - ] - }, - "library_target_name": "windows_x86_64_gnu", - "license": "MIT OR Apache-2.0", - "license_file": "license-apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "name": "windows_x86_64_gnu", - "package_url": "https://github.com/microsoft/windows-rs", - "repository": { - "Http": { - "sha256": "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499", - "url": "https://static.crates.io/crates/windows_x86_64_gnu/0.53.1/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "windows_x86_64_gnu", - "crate_root": "src/lib.rs" - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs" - } - } - ], - "version": "0.53.1" - }, "windows_x86_64_gnullvm 0.52.6": { "build_script_attrs": {}, "common_attrs": { @@ -14773,45 +15217,6 @@ ], "version": "0.52.6" }, - "windows_x86_64_gnullvm 0.53.1": { - "build_script_attrs": {}, - "common_attrs": { - "edition": "2021", - "extra_deps": [ - ":build_script_build" - ] - }, - "library_target_name": "windows_x86_64_gnullvm", - "license": "MIT OR Apache-2.0", - "license_file": "license-apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "name": "windows_x86_64_gnullvm", - "package_url": "https://github.com/microsoft/windows-rs", - "repository": { - "Http": { - "sha256": "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1", - "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/0.53.1/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "windows_x86_64_gnullvm", - "crate_root": "src/lib.rs" - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs" - } - } - ], - "version": "0.53.1" - }, "windows_x86_64_msvc 0.52.6": { "build_script_attrs": {}, "common_attrs": { @@ -14851,45 +15256,6 @@ ], "version": "0.52.6" }, - "windows_x86_64_msvc 0.53.1": { - "build_script_attrs": {}, - "common_attrs": { - "edition": "2021", - "extra_deps": [ - ":build_script_build" - ] - }, - "library_target_name": "windows_x86_64_msvc", - "license": "MIT OR Apache-2.0", - "license_file": "license-apache-2.0", - "license_ids": [ - "Apache-2.0", - "MIT" - ], - "name": "windows_x86_64_msvc", - "package_url": "https://github.com/microsoft/windows-rs", - "repository": { - "Http": { - "sha256": "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650", - "url": "https://static.crates.io/crates/windows_x86_64_msvc/0.53.1/download" - } - }, - "targets": [ - { - "Library": { - "crate_name": "windows_x86_64_msvc", - "crate_root": "src/lib.rs" - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs" - } - } - ], - "version": "0.53.1" - }, "wit-bindgen 0.57.1": { "build_script_attrs": {}, "common_attrs": { @@ -14931,6 +15297,10 @@ }, "writeable 0.6.4": { "common_attrs": { + "crate_features": [ + "alloc", + "default" + ], "edition": "2021" }, "library_target_name": "writeable", @@ -15034,9 +15404,10 @@ ], "version": "0.2.5" }, - "yoke 0.8.3": { + "yoke 0.8.4": { "common_attrs": { "crate_features": [ + "alloc", "derive", "zerofrom" ], @@ -15068,8 +15439,8 @@ "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5", - "url": "https://static.crates.io/crates/yoke/0.8.3/download" + "sha256": "417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3", + "url": "https://static.crates.io/crates/yoke/0.8.4/download" } }, "targets": [ @@ -15080,7 +15451,7 @@ } } ], - "version": "0.8.3" + "version": "0.8.4" }, "yoke-derive 0.8.4": { "common_attrs": { @@ -15229,6 +15600,7 @@ "zerofrom 0.1.8": { "common_attrs": { "crate_features": [ + "alloc", "derive" ], "edition": "2021", @@ -15345,12 +15717,14 @@ "zerotrie 0.2.5": { "common_attrs": { "crate_features": [ + "alloc", + "default", "yoke", "zerofrom" ], "deps": [ { - "id": "yoke 0.8.3", + "id": "yoke 0.8.4", "target": "yoke" }, { @@ -15390,15 +15764,16 @@ ], "version": "0.2.5" }, - "zerovec 0.11.8": { + "zerovec 0.11.9": { "common_attrs": { "crate_features": [ + "alloc", "derive", "yoke" ], "deps": [ { - "id": "yoke 0.8.3", + "id": "yoke 0.8.4", "target": "yoke" }, { @@ -15409,7 +15784,7 @@ "edition": "2021", "proc_macro_deps": [ { - "id": "zerovec-derive 0.11.6", + "id": "zerovec-derive 0.11.7", "target": "zerovec_derive" } ] @@ -15424,8 +15799,8 @@ "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8", - "url": "https://static.crates.io/crates/zerovec/0.11.8/download" + "sha256": "f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40", + "url": "https://static.crates.io/crates/zerovec/0.11.9/download" } }, "targets": [ @@ -15436,9 +15811,9 @@ } } ], - "version": "0.11.8" + "version": "0.11.9" }, - "zerovec-derive 0.11.6": { + "zerovec-derive 0.11.7": { "common_attrs": { "deps": [ { @@ -15466,8 +15841,8 @@ "package_url": "https://github.com/unicode-org/icu4x", "repository": { "Http": { - "sha256": "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da", - "url": "https://static.crates.io/crates/zerovec-derive/0.11.6/download" + "sha256": "c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a", + "url": "https://static.crates.io/crates/zerovec-derive/0.11.7/download" } }, "targets": [ @@ -15478,7 +15853,7 @@ } } ], - "version": "0.11.6" + "version": "0.11.7" }, "zlib-rs 0.6.8": { "common_attrs": { @@ -15550,6 +15925,56 @@ } ], "version": "1.0.23" + }, + "zoneinfo64 0.3.0": { + "common_attrs": { + "deps": [ + { + "id": "calendrical_calculations 0.2.4", + "target": "calendrical_calculations" + }, + { + "id": "icu_locale_core 2.4.0", + "target": "icu_locale_core" + }, + { + "id": "potential_utf 0.1.6", + "target": "potential_utf" + }, + { + "id": "resb 0.1.2", + "target": "resb" + }, + { + "id": "serde 1.0.229", + "target": "serde" + } + ], + "edition": "2021" + }, + "library_target_name": "zoneinfo64", + "license": "Unicode-3.0", + "license_file": "LICENSE", + "license_ids": [ + "Unicode-3.0" + ], + "name": "zoneinfo64", + "package_url": "https://github.com/unicode-org/icu4x", + "repository": { + "Http": { + "sha256": "ed6eb2607e906160c457fd573e9297e65029669906b9ac8fb1b5cd5e055f0705", + "url": "https://static.crates.io/crates/zoneinfo64/0.3.0/download" + } + }, + "targets": [ + { + "Library": { + "crate_name": "zoneinfo64", + "crate_root": "src/lib.rs" + } + } + ], + "version": "0.3.0" } }, "direct_deps": [ @@ -15559,9 +15984,9 @@ "base64 0.23.1", "bytes 1.12.1", "capnp 0.27.2", - "capnp-rpc 0.27.1", + "capnp-rpc 0.27.2", "capnpc 0.27.0", - "cc 1.9.0", + "cc 1.10.0", "clang-ast 0.1.35", "clap 4.6.7", "codespan-reporting 0.13.1", @@ -15584,7 +16009,7 @@ "libz-rs-sys 0.6.8", "lol_html_c_api 1.4.0", "nix 0.31.3", - "notify 8.2.0", + "notify 8.2.1", "percent-encoding 2.3.2", "pico-args 0.5.0", "proc-macro2 1.0.107", @@ -15605,8 +16030,10 @@ "swc_common 25.0.0", "swc_ts_fast_strip 57.0.0", "syn 2.0.119", + "temporal_capi 0.2.6", + "temporal_rs 0.2.6", "thiserror 2.0.21", - "tokio 1.54.0", + "tokio 1.54.1", "tokio-rustls 0.26.6", "tower-service 0.3.3", "tracing 0.1.44", diff --git a/patches/v8/0050-Build-Temporal-in-the-V8-Bazel-build.patch b/patches/v8/0050-Build-Temporal-in-the-V8-Bazel-build.patch new file mode 100644 index 00000000000..b8285d33e4a --- /dev/null +++ b/patches/v8/0050-Build-Temporal-in-the-V8-Bazel-build.patch @@ -0,0 +1,181 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Nicholas Paun +Date: Thu, 22 Oct 2026 21:38:28 +0000 +Subject: Build Temporal in the V8 Bazel build + +Adds --//:v8_enable_temporal_support, which defines V8_TEMPORAL_SUPPORT +and builds the Temporal sources, and --//:v8_temporal_capi, the label +of a target that links the temporal_capi Rust crate and exports its +generated C++ bindings. + +Without ICU, Temporal bakes ICU's tzres/zoneinfo64.res into V8, as +GN's make_temporal_zoneinfo_cpp action does. We don't use this +ourselves, but this will make it easier to potentially upstream the +patch to V8. + +diff --git a/BUILD.bazel b/BUILD.bazel +index ed733532389dfa5d1610ee5c79e12948ffe4ee2c..a12f96c06c767518761aad7d21a91989aed6dfeb 100644 +--- a/BUILD.bazel ++++ b/BUILD.bazel +@@ -210,6 +210,20 @@ v8_flag( + + v8_flag(name = "v8_use_perfetto") + ++# Builds Temporal. Temporal is implemented on top of the temporal_capi Rust ++# crate (https://github.com/boa-dev/temporal), which the embedder provides ++# by pointing :v8_temporal_capi at a target that links the crate and exports ++# its diplomat-generated C++ headers (bindings/cpp, so they are included as ++# "temporal_rs/*.hpp"). ++v8_flag(name = "v8_enable_temporal_support") ++ ++label_flag( ++ name = "v8_temporal_capi", ++ build_setting_default = ":temporal_capi_not_configured", ++) ++ ++cc_library(name = "temporal_capi_not_configured") ++ + # Default setting for v8_enable_maglev + selects.config_setting_group( + name = "maglev_by_default", +@@ -577,6 +591,7 @@ v8_config( + "v8_x64_16byte_stack_alignment": "V8_X64_16BYTE_STACK_ALIGNMENT", + "v8_support_la57": "V8_SUPPORT_LA57", + "v8_use_perfetto": "V8_USE_PERFETTO", ++ "v8_enable_temporal_support": "V8_TEMPORAL_SUPPORT", + "v8_use_zlib": "V8_USE_ZLIB", + }, + defines = [ +@@ -1336,8 +1351,6 @@ filegroup( + "src/objects/js-shadow-realm.tq", + "src/objects/js-shared-array.tq", + "src/objects/js-struct.tq", +- # Temporal is currently gn-only +- # "src/objects/js-temporal-objects.tq", + "src/objects/js-weak-refs.tq", + "src/objects/literal-objects.tq", + "src/objects/managed.tq", +@@ -1374,6 +1387,11 @@ filegroup( + "test/torque/test-torque.tq", + "third_party/v8/builtins/array-sort.tq", + ] + select({ ++ ":is_v8_enable_temporal_support": [ ++ "src/objects/js-temporal-objects.tq", ++ ], ++ "//conditions:default": [], ++ }) + select({ + ":is_v8_enable_webassembly": [ + "src/builtins/js-to-wasm.tq", + "src/builtins/wasm.tq", +@@ -1480,6 +1498,34 @@ filegroup( + }), + ) + ++filegroup( ++ name = "v8_temporal_files", ++ srcs = [ ++ "src/builtins/builtins-temporal.cc", ++ "src/objects/js-temporal-objects.cc", ++ "src/objects/js-temporal-objects.h", ++ "src/objects/js-temporal-objects-inl.h", ++ "src/objects/js-temporal-zoneinfo64.cc", ++ "src/objects/js-temporal-zoneinfo64.h", ++ ], ++) ++ ++# With ICU, Temporal reads zoneinfo64.res from ICU's data. Without it, the ++# file is baked into V8. ++genrule( ++ name = "noicu/temporal_zoneinfo64_data", ++ srcs = ["@com_googlesource_chromium_icu//:tzres/zoneinfo64.res"], ++ outs = ["noicu/src/builtins/builtins-temporal-zoneinfo64-data.cc"], ++ cmd = "$(location :include_file_as_bytes) $< $@ zoneinfo64_static_data", ++ tools = [":include_file_as_bytes"], ++) ++ ++py_binary( ++ name = "include_file_as_bytes", ++ srcs = ["tools/include-file-as-bytes.py"], ++ main = "tools/include-file-as-bytes.py", ++) ++ + filegroup( + name = "v8_base_without_compiler_files", + srcs = [ +@@ -1578,8 +1624,6 @@ filegroup( + "src/builtins/builtins-string.cc", + "src/builtins/builtins-struct.cc", + "src/builtins/builtins-symbol.cc", +- # Temporal is currently gn-only +- # "src/builtins/builtins-temporal.cc", + "src/builtins/builtins-trace.cc", + "src/builtins/builtins-typed-array.cc", + "src/builtins/builtins-utils.h", +@@ -2311,10 +2355,6 @@ filegroup( + "src/objects/js-shared-array.h", + "src/objects/js-struct.cc", + "src/objects/js-struct.h", +- # Temporal is currently gn-only +- # "src/objects/js-temporal-objects.cc", +- # "src/objects/js-temporal-objects.h", +- # "src/objects/js-temporal-objects-inl.h", + "src/objects/js-temporal-helpers.h", + "src/objects/js-temporal-helpers.cc", + "src/objects/js-weak-refs.cc", +@@ -4649,8 +4689,8 @@ filegroup( + # includes src/objects/all-objects.h, whose feature-conditional groups + # are selected by the normal V8 feature defines. Bazel always defines + # V8_ENABLE_WEBASSEMBLY via :define_flags; V8_INTL_SUPPORT is added only by +-# the icu-prefixed action. Temporal is disabled because temporal_rs is not a +-# Bazel dependency. ++# the icu-prefixed action. The action does not see the temporal_capi ++# headers, so metagen does not support :v8_enable_temporal_support. + # + # The headers themselves reach the action through the + # `metagen_sandbox_headers` glob below, which already covers src/**. +@@ -4987,6 +5027,9 @@ v8_library( + ":v8_compiler_files", + ], + "//conditions:default": [], ++ }) + select({ ++ ":is_v8_enable_temporal_support": [":v8_temporal_files"], ++ "//conditions:default": [], + }), + copts = ["-Wno-implicit-fallthrough"], + icu_deps = [ +@@ -5019,6 +5062,9 @@ v8_library( + ] + select({ + ":is_v8_use_metagen": [":noicu/run_metagen"], + "//conditions:default": [], ++ }) + select({ ++ ":is_v8_enable_temporal_support": [":noicu/temporal_zoneinfo64_data"], ++ "//conditions:default": [], + }), + deps = [ + ":lib_dragonbox", +@@ -5036,6 +5082,9 @@ v8_library( + ] + select({ + ":is_v8_use_perfetto": ["@perfetto//:libperfetto_client_experimental"], + "//conditions:default": [], ++ }) + select({ ++ ":is_v8_enable_temporal_support": [":v8_temporal_capi"], ++ "//conditions:default": [], + }), + ) + +diff --git a/bazel/BUILD.icu b/bazel/BUILD.icu +index 59b6145116018be623a1eabf8da831698bf75d0c..288e65d102aa56f46e1ab421faa9e6da4df7cc82 100644 +--- a/bazel/BUILD.icu ++++ b/bazel/BUILD.icu +@@ -3,7 +3,10 @@ + # found in the LICENSE file. + load("@rules_cc//cc:cc_library.bzl", "cc_library") + +-exports_files(["common/icudtl.dat"]) ++exports_files([ ++ "common/icudtl.dat", ++ "tzres/zoneinfo64.res", ++]) + + filegroup( + name = "icudata", diff --git a/src/workerd/api/tests/BUILD.bazel b/src/workerd/api/tests/BUILD.bazel index ff1fcf6ccc1..214a7131670 100644 --- a/src/workerd/api/tests/BUILD.bazel +++ b/src/workerd/api/tests/BUILD.bazel @@ -1012,6 +1012,11 @@ wd_test( data = ["globals-iteration-test.js"], ) +wd_test( + src = "temporal-hidden-test.wd-test", + data = ["temporal-hidden-test.js"], +) + wd_test( src = "streams-consumer-reentry-gc-test.wd-test", args = ["--experimental"], diff --git a/src/workerd/api/tests/temporal-hidden-test.js b/src/workerd/api/tests/temporal-hidden-test.js new file mode 100644 index 00000000000..30d5083bf16 --- /dev/null +++ b/src/workerd/api/tests/temporal-hidden-test.js @@ -0,0 +1,16 @@ +// Copyright (c) 2026 Cloudflare, Inc. +// Licensed under the Apache 2.0 license found in the LICENSE file or at: +// https://opensource.org/licenses/Apache-2.0 + +import { strictEqual } from 'node:assert'; + +// V8 is built with Temporal, which it enables by default; workerd turns it off with +// --noharmony-temporal so the API surface stays unchanged. +export const temporalIsHidden = { + test() { + strictEqual(typeof Temporal, 'undefined'); + strictEqual('Temporal' in globalThis, false); + strictEqual(Date.prototype.toTemporalInstant, undefined); + strictEqual('toTemporalInstant' in Date.prototype, false); + }, +}; diff --git a/src/workerd/api/tests/temporal-hidden-test.wd-test b/src/workerd/api/tests/temporal-hidden-test.wd-test new file mode 100644 index 00000000000..a725c127b7c --- /dev/null +++ b/src/workerd/api/tests/temporal-hidden-test.wd-test @@ -0,0 +1,14 @@ +using Workerd = import "/workerd/workerd.capnp"; + +const unitTests :Workerd.Config = ( + services = [ + ( name = "temporal-hidden-test", + worker = ( + modules = [ + (name = "worker", esModule = embed "temporal-hidden-test.js") + ], + compatibilityFlags = ["nodejs_compat"], + ) + ), + ], +); diff --git a/src/workerd/jsg/setup.c++ b/src/workerd/jsg/setup.c++ index 329efedb734..4ad7b3e8dd8 100644 --- a/src/workerd/jsg/setup.c++ +++ b/src/workerd/jsg/setup.c++ @@ -149,6 +149,12 @@ void V8System::init(kj::Own platformParam, } argv[argc] = nullptr; // V8 probably doesn't need this but technically argv is NULL-terminated. + // V8 ships Temporal enabled by default, but Workers don't expose it yet: exposing it needs a + // compatibility flag, and a real clock for Temporal.Now (see the placeholder + // temporalNowCallback in resource.h). This is set before the configured flags so that + // `--harmony-temporal` in v8Flags can still turn Temporal on for local experiments. + v8::V8::SetFlagsFromString("--noharmony-temporal"); + v8::V8::SetFlagsFromCommandLine(&argc, argv.begin(), true); KJ_REQUIRE(argc == 1, "unrecognized V8 flag", argv[1]);