git.delta.rocks / jrsonnet / refs/commits / 38c2f665c6fe

difftreelog

build update dependencies

xzortouwYaroslav Bolyukin2026-04-25parent: #849e3b5.patch.diff
in: master

5 files changed

modifiedCargo.lockdiffbeforeafterboth
before · Cargo.lock
242 packageslockfile v4
after · Cargo.lock
233 packageslockfile v4
modifiedCargo.tomldiffbeforeafterboth
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -40,7 +40,9 @@
 # Parsing, manifestification is implemented manually everywhere
 serde = "1.0.228"
 serde_json = "1.0.149"
-serde-saphyr = { version = "0.0.17", default-features = false }
+serde-saphyr = { version = "0.0.25", default-features = false, features = [
+  "deserialize",
+] }
 
 # Error handling
 anyhow = "1.0.101"
@@ -51,9 +53,10 @@
 
 # Stdlib hashing functions
 md5 = "0.8.0"
-sha1 = "0.10.6"
-sha2 = "0.10.9"
-sha3 = "0.10.8"
+sha1 = "0.11.0"
+sha2 = "0.11.0"
+sha3 = "0.11.0"
+hex = "0.4.3"
 
 # Source code parsing.
 # Jrsonnet has two parsers for jsonnet - one is for execution, and another is for better parsing diagnostics/lints/LSP.
@@ -67,7 +70,7 @@
 indoc = "2.0"
 tempfile = "3.24"
 pathdiff = "0.2.3"
-hashbrown = "0.16.1"
+hashbrown = "0.17.0"
 static_assertions = "1.1"
 rustc-hash = "2.1"
 num-bigint = "0.4.6"
@@ -82,7 +85,7 @@
 xshell = "0.2.7"
 
 regex = "1.12"
-lru = "0.16.3"
+lru = "0.17.0"
 
 syn-dissect-closure = "0.1.0"
 
modifiedcrates/jrsonnet-stdlib/Cargo.tomldiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/Cargo.toml
+++ b/crates/jrsonnet-stdlib/Cargo.toml
@@ -43,6 +43,7 @@
 # std.parseYaml
 serde-saphyr.workspace = true
 
+hex.workspace = true
 num-bigint = { workspace = true, optional = true }
 
 # regex
modifiedcrates/jrsonnet-stdlib/src/hash.rsdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/hash.rs
+++ b/crates/jrsonnet-stdlib/src/hash.rs
@@ -1,3 +1,4 @@
+use hex::encode;
 use jrsonnet_evaluator::{IStr, function::builtin};
 
 #[builtin]
@@ -6,25 +7,25 @@
 }
 
 #[builtin]
-pub fn builtin_sha256(str: IStr) -> String {
-	use sha2::digest::Digest;
-	format!("{:x}", sha2::Sha256::digest(str.as_bytes()))
+pub fn builtin_sha1(str: IStr) -> String {
+	use sha1::digest::Digest;
+	encode(sha1::Sha1::digest(str.as_bytes()))
 }
 
 #[builtin]
-pub fn builtin_sha512(str: IStr) -> String {
+pub fn builtin_sha256(str: IStr) -> String {
 	use sha2::digest::Digest;
-	format!("{:x}", sha2::Sha512::digest(str.as_bytes()))
+	encode(sha2::Sha256::digest(str.as_bytes()))
 }
 
 #[builtin]
-pub fn builtin_sha1(str: IStr) -> String {
-	use sha1::digest::Digest;
-	format!("{:x}", sha1::Sha1::digest(str.as_bytes()))
+pub fn builtin_sha512(str: IStr) -> String {
+	use sha2::digest::Digest;
+	encode(sha2::Sha512::digest(str.as_bytes()))
 }
 
 #[builtin]
 pub fn builtin_sha3(str: IStr) -> String {
 	use sha3::digest::Digest;
-	format!("{:x}", sha3::Sha3_512::digest(str.as_bytes()))
+	encode(sha3::Sha3_512::digest(str.as_bytes()))
 }
modifiedcrates/jrsonnet-stdlib/src/parse.rsdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/parse.rs
+++ b/crates/jrsonnet-stdlib/src/parse.rs
@@ -1,4 +1,5 @@
 use jrsonnet_evaluator::{IStr, Result, Val, function::builtin, runtime_error};
+use serde_saphyr::options;
 
 #[builtin]
 pub fn builtin_parse_json(str: IStr) -> Result<Val> {
@@ -13,12 +14,11 @@
 
 	let mut out = serde_saphyr::from_multiple_with_options::<Val>(
 		&str,
-		serde_saphyr::Options {
+		options! {
 			// Golang/C++ compat
 			legacy_octal_numbers: true,
 			// Disable budget limits - we trust the YAML input
 			budget: None,
-			..Default::default()
 		},
 	)
 	.map_err(|e| runtime_error!("failed to parse yaml: {e}"))?;