diff --git a/Cargo.lock b/Cargo.lock index d05f4f847..e9057b93b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -133,9 +133,9 @@ checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" [[package]] name = "biblatex" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a3638fc10f65e552d53318e042cefa542418633451163228fcbfb1a58a0ca85" +checksum = "27fe7285040d0227cd8b5395e1c4783f44f0b673eca5a657f4432ae401f2b7b8" dependencies = [ "numerals", "paste", @@ -197,9 +197,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.15.3" +version = "3.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" +checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" [[package]] name = "bytemuck" @@ -215,9 +215,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "cc" -version = "1.0.89" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" dependencies = [ "jobserver", "libc", @@ -249,9 +249,9 @@ checksum = "7588475145507237ded760e52bf2f1085495245502033756d28ea72ade0e498b" [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a" dependencies = [ "android-tzdata", "iana-time-zone", @@ -288,19 +288,19 @@ dependencies = [ [[package]] name = "citationberg" -version = "0.1.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15a0bf8014b266d11f20451dc9202d8d26180ffd8b094d73ecbe74d821f01fb" +checksum = "82108f2b676c954076d2e5044f19a6a03887b24bd42804f322e0650d13035899" dependencies = [ - "quick-xml 0.28.2", + "quick-xml", "serde", ] [[package]] name = "clap" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" +checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651" dependencies = [ "clap_builder", "clap_derive", @@ -308,9 +308,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", @@ -385,8 +385,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "comemo" -version = "0.3.1" -source = "git+https://github.com/typst/comemo?rev=ddb3773#ddb3773d062369e120d09c9a0a7909faf29d8fe1" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df6916408a724339aa77b18214233355f3eb04c42eb895e5f8909215bd8a7a91" dependencies = [ "comemo-macros", "once_cell", @@ -396,8 +397,9 @@ dependencies = [ [[package]] name = "comemo-macros" -version = "0.3.1" -source = "git+https://github.com/typst/comemo?rev=ddb3773#ddb3773d062369e120d09c9a0a7909faf29d8fe1" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8936e42f9b4f5bdfaf23700609ac1f11cb03ad4c1ec128a4ee4fd0903e228db" dependencies = [ "proc-macro2", "quote", @@ -515,6 +517,15 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + [[package]] name = "dirs" version = "5.0.1" @@ -555,9 +566,9 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "ecow" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ea5e3f9cda726431da9d1a8d5a29785d544b31e98e1ca7a210906244002e02" +checksum = "dba31a30727c42ff5e60468d695c7f21e43a6db2808b7195adcab908fbd9f794" dependencies = [ "serde", ] @@ -826,9 +837,9 @@ checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" [[package]] name = "hayagriva" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f97c07366b7f686741521ca63cc14baf18cea53c39b0c09873cd1d4a1b2b8c" +checksum = "cc2e670de5191df083ddd112cd253049f8213277ccf0c15e18a8bf10e6c666cc" dependencies = [ "biblatex", "ciborium", @@ -853,9 +864,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hypher" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bf16dd62ea2bec617a6f8a3e1ba03107311783069a647787ac689d1f35321e" +checksum = "3b24ad5637230df201ab1034d593f1d09bf7f2a9274f2e8897638078579f4265" [[package]] name = "iana-time-zone" @@ -1436,6 +1447,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-integer" version = "0.1.46" @@ -1697,14 +1714,14 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plist" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a4a0cfc5fb21a09dc6af4bf834cf10d4a32fccd9e2ea468c4b1751a097487aa" +checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" dependencies = [ "base64 0.21.7", - "indexmap 1.9.3", + "indexmap 2.2.5", "line-wrap", - "quick-xml 0.30.0", + "quick-xml", "serde", "time", ] @@ -1739,6 +1756,12 @@ dependencies = [ "serde", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1783,23 +1806,14 @@ checksum = "edecfcd5d755a5e5d98e24cf43113e7cdaec5a070edd0f6b250c03a573da30fa" [[package]] name = "quick-xml" -version = "0.28.2" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", "serde", ] -[[package]] -name = "quick-xml" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" -dependencies = [ - "memchr", -] - [[package]] name = "quote" version = "1.0.35" @@ -2222,18 +2236,18 @@ checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" [[package]] name = "strum" -version = "0.25.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.25.3" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18" dependencies = [ "heck", "proc-macro2", @@ -2250,8 +2264,9 @@ checksum = "09eab8a83bff89ba2200bd4c59be45c7c787f988431b936099a5a266c957f2f9" [[package]] name = "svg2pdf" -version = "0.9.1" -source = "git+https://github.com/typst/svg2pdf?rev=49891ef#49891ef48eee1a03f2ed090541d88fd0193bf2c9" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba36b330062be8497fd96597227a757b621b86c4d24d164b06e4522b52b3693e" dependencies = [ "image", "miniz_oxide", @@ -2376,11 +2391,14 @@ dependencies = [ [[package]] name = "time" -version = "0.3.20" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" dependencies = [ + "deranged", "itoa", + "num-conv", + "powerfmt", "serde", "time-core", "time-macros", @@ -2388,16 +2406,17 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.8" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" dependencies = [ + "num-conv", "time-core", ] diff --git a/Cargo.toml b/Cargo.toml index fcba1f257..10b362845 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,7 +39,7 @@ clap_complete = "4.2.1" clap_mangen = "0.2.10" ctrlc = "3.4.1" codespan-reporting = "0.11" -comemo = { git = "https://github.com/typst/comemo", rev = "ddb3773" } +comemo = "0.4" csv = "1" dirs = "5" ecow = { version = "0.2", features = ["serde"] } @@ -47,7 +47,7 @@ env_proxy = "0.4" flate2 = "1" fontdb = { version = "0.16", default-features = false } fs_extra = "1.3" -hayagriva = "0.5.1" +hayagriva = "0.5.2" heck = "0.4" hypher = "0.1.4" icu_properties = { version = "1.4", features = ["serde"] } @@ -97,7 +97,7 @@ siphasher = "1" smallvec = { version = "1.11.1", features = ["union", "const_generics", "const_new"] } stacker = "0.1.15" subsetter = "0.1.1" -svg2pdf = { git = "https://github.com/typst/svg2pdf", rev = "49891ef" } +svg2pdf = "0.10" syn = { version = "2", features = ["full", "extra-traits"] } syntect = { version = "5", default-features = false, features = ["parsing", "regex-fancy", "plist-load", "yaml-load"] } tar = "0.4" diff --git a/crates/typst-cli/src/world.rs b/crates/typst-cli/src/world.rs index 3c4b8be67..893b02bd6 100644 --- a/crates/typst-cli/src/world.rs +++ b/crates/typst-cli/src/world.rs @@ -199,7 +199,7 @@ impl World for SystemWorld { let naive = match offset { None => now.naive_local(), - Some(o) => now.naive_utc() + chrono::Duration::hours(o), + Some(o) => now.naive_utc() + chrono::Duration::try_hours(o)?, }; Datetime::from_ymd( diff --git a/crates/typst-pdf/Cargo.toml b/crates/typst-pdf/Cargo.toml index dd71b61e9..61b844981 100644 --- a/crates/typst-pdf/Cargo.toml +++ b/crates/typst-pdf/Cargo.toml @@ -23,7 +23,7 @@ typst-timing = { workspace = true } base64 = { workspace = true } bytemuck = { workspace = true } comemo = { workspace = true } -ecow = { workspace = true} +ecow = { workspace = true } image = { workspace = true } miniz_oxide = { workspace = true } once_cell = { workspace = true } diff --git a/crates/typst-svg/Cargo.toml b/crates/typst-svg/Cargo.toml index 163d85573..a0acff95d 100644 --- a/crates/typst-svg/Cargo.toml +++ b/crates/typst-svg/Cargo.toml @@ -21,7 +21,7 @@ typst-macros = { workspace = true } typst-timing = { workspace = true } base64 = { workspace = true } comemo = { workspace = true } -ecow = { workspace = true} +ecow = { workspace = true } flate2 = { workspace = true } ttf-parser = { workspace = true } xmlparser = { workspace = true } diff --git a/crates/typst/Cargo.toml b/crates/typst/Cargo.toml index 889d41e77..f15cdc8a3 100644 --- a/crates/typst/Cargo.toml +++ b/crates/typst/Cargo.toml @@ -26,7 +26,7 @@ chinese-number = { workspace = true } ciborium = { workspace = true } comemo = { workspace = true } csv = { workspace = true } -ecow = { workspace = true} +ecow = { workspace = true } fontdb = { workspace = true } hayagriva = { workspace = true } hypher = { workspace = true } diff --git a/tests/ref/bugs/cite-locate.png b/tests/ref/bugs/cite-locate.png index 36246393d..bd31df7db 100644 Binary files a/tests/ref/bugs/cite-locate.png and b/tests/ref/bugs/cite-locate.png differ diff --git a/tests/ref/meta/bibliography-full.png b/tests/ref/meta/bibliography-full.png index 4d3241520..d8778c09e 100644 Binary files a/tests/ref/meta/bibliography-full.png and b/tests/ref/meta/bibliography-full.png differ diff --git a/tests/ref/meta/bibliography-ordering.png b/tests/ref/meta/bibliography-ordering.png index e221e5df6..116c561d0 100644 Binary files a/tests/ref/meta/bibliography-ordering.png and b/tests/ref/meta/bibliography-ordering.png differ diff --git a/tests/ref/meta/bibliography.png b/tests/ref/meta/bibliography.png index 3b855fdd9..8fbd09bc8 100644 Binary files a/tests/ref/meta/bibliography.png and b/tests/ref/meta/bibliography.png differ diff --git a/tests/ref/meta/cite-footnote.png b/tests/ref/meta/cite-footnote.png index 4fabdaad0..3a7a0094d 100644 Binary files a/tests/ref/meta/cite-footnote.png and b/tests/ref/meta/cite-footnote.png differ diff --git a/tests/ref/text/linebreak-obj.png b/tests/ref/text/linebreak-obj.png index b13ced1af..127ee6872 100644 Binary files a/tests/ref/text/linebreak-obj.png and b/tests/ref/text/linebreak-obj.png differ