Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package just for openSUSE:Factory checked in 
at 2026-08-09 21:42:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/just (Old)
 and      /work/SRC/openSUSE:Factory/.just.new.16738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "just"

Sun Aug  9 21:42:00 2026 rev:45 rq:1370266 version:1.58.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/just/just.changes        2026-07-31 
16:08:21.290615477 +0200
+++ /work/SRC/openSUSE:Factory/.just.new.16738/just.changes     2026-08-09 
21:44:41.277397413 +0200
@@ -1,0 +2,10 @@
+Fri Aug  7 18:44:42 UTC 2026 - Richard Rahl <[email protected]>
+
+- Update to version 1.58.0:
+  + Surround interoplation expressions with spaces when formatting
+  + Accept multiple ,-separated values in --justfile-name
+  + Add format argument to [timestamp] attribute
+  + Add [timestamp] recipe attribute
+  + Note that no-cd only affects recipe working directory
+
+-------------------------------------------------------------------

Old:
----
  just-1.57.0.obscpio

New:
----
  just-1.58.0.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ just.spec ++++++
--- /var/tmp/diff_new_pack.G8yqv8/_old  2026-08-09 21:44:42.609442882 +0200
+++ /var/tmp/diff_new_pack.G8yqv8/_new  2026-08-09 21:44:42.613443019 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           just
-Version:        1.57.0
+Version:        1.58.0
 Release:        0
 Summary:        Commmand runner
 License:        (Apache-2.0 OR MIT) AND Unicode-DFS-2016 AND (Apache-2.0 OR 
BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR Apache-2.0 WITH 
LLVM-exception OR MIT) AND (MIT OR Unlicense) AND Apache-2.0 AND BSD-3-Clause 
AND CC0-1.0 AND MIT AND CC0-1.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.G8yqv8/_old  2026-08-09 21:44:42.653444384 +0200
+++ /var/tmp/diff_new_pack.G8yqv8/_new  2026-08-09 21:44:42.657444520 +0200
@@ -2,7 +2,7 @@
   <service name="obs_scm" mode="manual">
     <param name="scm">git</param>
     <param name="url">https://github.com/casey/just.git</param>
-    <param name="revision">refs/tags/1.57.0</param>
+    <param name="revision">refs/tags/1.58.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="package-meta">yes</param>
   </service>

++++++ just-1.57.0.obscpio -> just-1.58.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/.git/HEAD new/just-1.58.0/.git/HEAD
--- old/just-1.57.0/.git/HEAD   2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/.git/HEAD   2026-08-03 22:28:37.000000000 +0200
@@ -1 +1 @@
-e01a6bd7e7a30baf86bc86d2b95b0998ebbdc36f
+7f4ef81bd6a93faa2b28430912c8e9ab0e3dd29a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/.git/ORIG_HEAD 
new/just-1.58.0/.git/ORIG_HEAD
--- old/just-1.57.0/.git/ORIG_HEAD      2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/.git/ORIG_HEAD      2026-08-03 22:28:37.000000000 +0200
@@ -1 +1 @@
-e01a6bd7e7a30baf86bc86d2b95b0998ebbdc36f
+7f4ef81bd6a93faa2b28430912c8e9ab0e3dd29a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/.git/config new/just-1.58.0/.git/config
--- old/just-1.57.0/.git/config 2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/.git/config 2026-08-03 22:28:37.000000000 +0200
@@ -1,11 +1,15 @@
 [core]
-       repositoryformatversion = 0
+       repositoryformatversion = 1
        filemode = true
        bare = false
        logallrefupdates = true
 [remote "origin"]
        url = https://github.com/casey/just.git
        fetch = +refs/heads/*:refs/remotes/origin/*
+       promisor = true
+       partialclonefilter = tree:0
 [branch "master"]
        remote = origin
        merge = refs/heads/master
+[extensions]
+       partialClone = origin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/.git/hooks/commit-msg.sample 
new/just-1.58.0/.git/hooks/commit-msg.sample
--- old/just-1.57.0/.git/hooks/commit-msg.sample        2026-07-19 
03:56:15.000000000 +0200
+++ new/just-1.58.0/.git/hooks/commit-msg.sample        2026-08-03 
22:28:37.000000000 +0200
@@ -15,60 +15,10 @@
 # SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
 # grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
 
-# This example catches duplicate Signed-off-by lines and messages that
-# would confuse 'git am'.
-
-ret=0
+# This example catches duplicate Signed-off-by lines.
 
 test "" = "$(grep '^Signed-off-by: ' "$1" |
         sort | uniq -c | sed -e '/^[   ]*1[    ]/d')" || {
        echo >&2 Duplicate Signed-off-by lines.
-       ret=1
+       exit 1
 }
-
-comment_re="$(
-       {
-               git config --get-regexp "^core\.comment(char|string)\$" ||
-                       echo '#'
-       } | sed -n -e '
-               ${
-                       s/^[^ ]* //
-                       s|[][*./\]|\\&|g
-                       s/^auto$/[#;@!$%^&|:]/
-                       p
-               }'
-)"
-scissors_line="^${comment_re} -\{8,\} >8 -\{8,\}\$"
-comment_line="^${comment_re}.*"
-blank_line='^[         ]*$'
-# Disallow lines starting with "diff -" or "Index: " in the body of the
-# message. Stop looking if we see a scissors line.
-line="$(sed -n -e "
-       # Skip comments and blank lines at the start of the file.
-       /${scissors_line}/q
-       /${comment_line}/d
-       /${blank_line}/d
-       # The first paragraph will become the subject header so
-       # does not need to be checked.
-       : subject
-       n
-       /${scissors_line}/q
-       /${blank_line}/!b subject
-       # Check the body of the message for problematic
-       # prefixes.
-       : body
-       n
-       /${scissors_line}/q
-       /${comment_line}/b body
-       /^diff -/{p;q;}
-       /^Index: /{p;q;}
-       b body
-       " "$1")"
-if test -n "$line"
-then
-       echo >&2 "Message contains a diff that will confuse 'git am'."
-       echo >&2 "To fix this indent the diff."
-       ret=1
-fi
-
-exit $ret
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/.git/hooks/fsmonitor-watchman.sample 
new/just-1.58.0/.git/hooks/fsmonitor-watchman.sample
--- old/just-1.57.0/.git/hooks/fsmonitor-watchman.sample        2026-07-19 
03:56:15.000000000 +0200
+++ new/just-1.58.0/.git/hooks/fsmonitor-watchman.sample        2026-08-03 
22:28:37.000000000 +0200
@@ -29,6 +29,8 @@
 
 my $git_work_tree = get_working_dir();
 
+my $retry = 1;
+
 my $json_pkg;
 eval {
        require JSON::XS;
@@ -121,7 +123,8 @@
 sub is_work_tree_watched {
        my ($output) = @_;
        my $error = $output->{error};
-       if ($error and $error =~ m/unable to resolve root .* directory (.*) is 
not watched/) {
+       if ($retry > 0 and $error and $error =~ m/unable to resolve root .* 
directory (.*) is not watched/) {
+               $retry--;
                my $response = qx/watchman watch "$git_work_tree"/;
                die "Failed to make watchman watch '$git_work_tree'.\n" .
                    "Falling back to scanning...\n" if $? != 0;
@@ -139,12 +142,15 @@
                # Watchman query just to get it over with now so we won't pay
                # the cost in git to look up each individual file.
                my $o = watchman_clock();
-               $error = $o->{error};
+               $error = $output->{error};
 
                die "Watchman: $error.\n" .
                "Falling back to scanning...\n" if $error;
 
                output_result($o->{clock}, ("/"));
+               $last_update_token = $o->{clock};
+
+               eval { launch_watchman() };
                return 0;
        }
 
Binary files old/just-1.57.0/.git/index and new/just-1.58.0/.git/index differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/.git/logs/HEAD 
new/just-1.58.0/.git/logs/HEAD
--- old/just-1.57.0/.git/logs/HEAD      2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/.git/logs/HEAD      2026-08-03 22:28:37.000000000 +0200
@@ -1,2 +1,2 @@
-0000000000000000000000000000000000000000 
13bf03f642f4cec7799c19f1f8f039e1cb3b095d Kyle Scheuing 
<kyle@kyle-desktop.(none)> 1785307867 -0400    clone: from 
https://github.com/casey/just.git
-13bf03f642f4cec7799c19f1f8f039e1cb3b095d 
e01a6bd7e7a30baf86bc86d2b95b0998ebbdc36f Kyle Scheuing 
<kyle@kyle-desktop.(none)> 1785307867 -0400    checkout: moving from master to 
refs/tags/1.57.0
+0000000000000000000000000000000000000000 
4f41f609278edb6f1024e3dd7a9912946e1e7bc3 Richard Rahl <[email protected]> 
1786128198 +0200  clone: from https://github.com/casey/just.git
+4f41f609278edb6f1024e3dd7a9912946e1e7bc3 
7f4ef81bd6a93faa2b28430912c8e9ab0e3dd29a Richard Rahl <[email protected]> 
1786128206 +0200  checkout: moving from master to refs/tags/1.58.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/.git/logs/refs/heads/master 
new/just-1.58.0/.git/logs/refs/heads/master
--- old/just-1.57.0/.git/logs/refs/heads/master 2026-07-19 03:56:15.000000000 
+0200
+++ new/just-1.58.0/.git/logs/refs/heads/master 2026-08-03 22:28:37.000000000 
+0200
@@ -1 +1 @@
-0000000000000000000000000000000000000000 
13bf03f642f4cec7799c19f1f8f039e1cb3b095d Kyle Scheuing 
<kyle@kyle-desktop.(none)> 1785307867 -0400    clone: from 
https://github.com/casey/just.git
+0000000000000000000000000000000000000000 
4f41f609278edb6f1024e3dd7a9912946e1e7bc3 Richard Rahl <[email protected]> 
1786128198 +0200  clone: from https://github.com/casey/just.git
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/.git/logs/refs/remotes/origin/HEAD 
new/just-1.58.0/.git/logs/refs/remotes/origin/HEAD
--- old/just-1.57.0/.git/logs/refs/remotes/origin/HEAD  2026-07-19 
03:56:15.000000000 +0200
+++ new/just-1.58.0/.git/logs/refs/remotes/origin/HEAD  2026-08-03 
22:28:37.000000000 +0200
@@ -1 +1 @@
-0000000000000000000000000000000000000000 
13bf03f642f4cec7799c19f1f8f039e1cb3b095d Kyle Scheuing 
<kyle@kyle-desktop.(none)> 1785307867 -0400    clone: from 
https://github.com/casey/just.git
+0000000000000000000000000000000000000000 
4f41f609278edb6f1024e3dd7a9912946e1e7bc3 Richard Rahl <[email protected]> 
1786128198 +0200  clone: from https://github.com/casey/just.git
Binary files 
old/just-1.57.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.idx
 and 
new/just-1.58.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.idx
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.pack
 and 
new/just-1.58.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.pack
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.rev
 and 
new/just-1.58.0/.git/objects/pack/pack-39fecc9681a730e74daf3cdabc7f67b9baaa2733.rev
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.idx
 and 
new/just-1.58.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.idx
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.pack
 and 
new/just-1.58.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.pack
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.rev
 and 
new/just-1.58.0/.git/objects/pack/pack-6051e8b25afcd1a6299c4b1103257c481a9140d7.rev
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.idx
 and 
new/just-1.58.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.idx
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.pack
 and 
new/just-1.58.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.pack
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/just-1.57.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.promisor
 
new/just-1.58.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.promisor
--- 
old/just-1.57.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.promisor
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/just-1.58.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.promisor
    2026-08-03 22:28:37.000000000 +0200
@@ -0,0 +1,317 @@
+02478667669751810b350b0eece99f06e58f4256 
02478667669751810b350b0eece99f06e58f4256
+0315345aa14043ea9ad8dd309a3d76ef49d00d77 
0315345aa14043ea9ad8dd309a3d76ef49d00d77
+034df107cb2000b5a287d7a9e39972967f83e39a 
034df107cb2000b5a287d7a9e39972967f83e39a
+05ee83cea19eafbea1c7f9f034edb016b77bbe04 
05ee83cea19eafbea1c7f9f034edb016b77bbe04
+0854d0bc1aaf6244212bfa27892751ea128df0e0 
0854d0bc1aaf6244212bfa27892751ea128df0e0
+089aa2ae0621dc3a4747275f99a9d4351292ddcc 
089aa2ae0621dc3a4747275f99a9d4351292ddcc
+0b02aa227e375c9fe6c0fedfcbc87af6d33280fd 
0b02aa227e375c9fe6c0fedfcbc87af6d33280fd
+0b57f453b3fb82c5b9a4ef61cc37f9315b7d68dc 
0b57f453b3fb82c5b9a4ef61cc37f9315b7d68dc
+0b627867bf8b4baa0e7275e35501c6c78458bc15 
0b627867bf8b4baa0e7275e35501c6c78458bc15
+0c6eadd938088452d79d76ef0d9f5cd7fd3ac609 
0c6eadd938088452d79d76ef0d9f5cd7fd3ac609
+0e259d42c996742e9e3cba14c677129b2c1b6311 
0e259d42c996742e9e3cba14c677129b2c1b6311
+0ec36eff79a80393d3e5e31472908e24dbadda2a 
0ec36eff79a80393d3e5e31472908e24dbadda2a
+0f646ce4746bda2538920c66ccaca37a5cf00ab5 
0f646ce4746bda2538920c66ccaca37a5cf00ab5
+0fb666ae485cb85b20189bd9b68c273114a0947b 
0fb666ae485cb85b20189bd9b68c273114a0947b
+1058888c5ea9d371d28b5f866bffdecb85bdb0d2 
1058888c5ea9d371d28b5f866bffdecb85bdb0d2
+12fd10fca82e1e60fdc0d313bb2ab3ebd58d8e50 
12fd10fca82e1e60fdc0d313bb2ab3ebd58d8e50
+13523c4a73a1083166a89b50b853f39761ef0ea4 
13523c4a73a1083166a89b50b853f39761ef0ea4
+13a7637217cfef3199d7886d6d902140dc51a3fd 
13a7637217cfef3199d7886d6d902140dc51a3fd
+143af509d0b4e1cbdd32921a85f9c011dae24bc7 
143af509d0b4e1cbdd32921a85f9c011dae24bc7
+149037afb1bf6d63851ecd956ab86235d04ddc00 
149037afb1bf6d63851ecd956ab86235d04ddc00
+161afa349235dcd860f7509e73a8e056c8b58106 
161afa349235dcd860f7509e73a8e056c8b58106
+186110262c807133b92ebda013c63db84be57591 
186110262c807133b92ebda013c63db84be57591
+1983e477e3fadfb35d84f84963922a9eecfe4af8 
1983e477e3fadfb35d84f84963922a9eecfe4af8
+1a02fb2e80e246d8f7cd9b881409e906888cfcf4 
1a02fb2e80e246d8f7cd9b881409e906888cfcf4
+1a3bd2beebf437bea67d0994cda6566160513338 
1a3bd2beebf437bea67d0994cda6566160513338
+1af0d95b548fe80c284c8d201cbffd370c258172 
1af0d95b548fe80c284c8d201cbffd370c258172
+1b94c9ec7ddcd6cbe73bc0533edcf129c109bb1c 
1b94c9ec7ddcd6cbe73bc0533edcf129c109bb1c
+1b9ea12d25d02207b99b053eb15f071e575f20ec 
1b9ea12d25d02207b99b053eb15f071e575f20ec
+1c1b74c56abda9755163ef8561b470812f472b15 
1c1b74c56abda9755163ef8561b470812f472b15
+1cf2cf4e294c5c79fe59f6aab19a85f5af11a634 
1cf2cf4e294c5c79fe59f6aab19a85f5af11a634
+1d3b6f4b55af0071de9bf173c171313be4a64c31 
1d3b6f4b55af0071de9bf173c171313be4a64c31
+1e7ef9ab003bebef0bfc055b0e9dea5f63e61652 
1e7ef9ab003bebef0bfc055b0e9dea5f63e61652
+1ee19ea0c3e6a0b61d39cc695bd7324737fbbf03 
1ee19ea0c3e6a0b61d39cc695bd7324737fbbf03
+1f4ac5a3cff0ac04e6a804dcb4c8941c37fcbaf0 
1f4ac5a3cff0ac04e6a804dcb4c8941c37fcbaf0
+2020fa8bdb606eda23435d6b3ed4ac3965429fae 
2020fa8bdb606eda23435d6b3ed4ac3965429fae
+208582fb273ae044501d75a29d649ba9060f0a14 
208582fb273ae044501d75a29d649ba9060f0a14
+20e24bf64e6e2afa86296c666731eaafaac9920a 
20e24bf64e6e2afa86296c666731eaafaac9920a
+229850408c50ff5e8d9575c2076f218a0bcc254d 
229850408c50ff5e8d9575c2076f218a0bcc254d
+22d80cac4711b927a127dab950611e495d43f766 
22d80cac4711b927a127dab950611e495d43f766
+2379de58c337d5631d1628f2a5252c64d0ba1549 
2379de58c337d5631d1628f2a5252c64d0ba1549
+250779087d40d06cc7ab373a636de625f1ba29aa 
250779087d40d06cc7ab373a636de625f1ba29aa
+25366218054d7f60c2d6a009a184264fb1b90714 
25366218054d7f60c2d6a009a184264fb1b90714
+26d239f0e5f6fd037f5e8b4adf60940bd26c61e0 
26d239f0e5f6fd037f5e8b4adf60940bd26c61e0
+26fcf6ca0250c6aec501fe127e0d7ef841494d96 
26fcf6ca0250c6aec501fe127e0d7ef841494d96
+28945322e9835ea00797d582ea2c544cdc67091a 
28945322e9835ea00797d582ea2c544cdc67091a
+28bc619a26d4b1272e4db27b125256bec532a12e 
28bc619a26d4b1272e4db27b125256bec532a12e
+2986cbed7bdb4c50ffc6c9c0f064d539df879f0d 
2986cbed7bdb4c50ffc6c9c0f064d539df879f0d
+29bbd4aa807c95aee87b3e95ff0de29970163d57 
29bbd4aa807c95aee87b3e95ff0de29970163d57
+2a686ec2056d736478a813851ac284b440f196c8 
2a686ec2056d736478a813851ac284b440f196c8
+2a6b3270635dd13ec6aea1c623fab0cc1b712352 
2a6b3270635dd13ec6aea1c623fab0cc1b712352
+2ae0d56ee73d7bd9d0070952a4fead32a3e1d400 
2ae0d56ee73d7bd9d0070952a4fead32a3e1d400
+2af6ff96d290cc745c97a9825a1131da7d5935cf 
2af6ff96d290cc745c97a9825a1131da7d5935cf
+2b62791837fbc7c4b35b73adcd8c090c409044ac 
2b62791837fbc7c4b35b73adcd8c090c409044ac
+2baa0fd13a11d8733312bce9e48bb7adf3513582 
2baa0fd13a11d8733312bce9e48bb7adf3513582
+2f3db89f3f60e170d584d111a919ddac9783bdd6 
2f3db89f3f60e170d584d111a919ddac9783bdd6
+3004cb8efab5032285f44384b6eda8117732f63d 
3004cb8efab5032285f44384b6eda8117732f63d
+3023eeb2b956451b7633e2d518e65c6fb94a3202 
3023eeb2b956451b7633e2d518e65c6fb94a3202
+307f37954f3db08b756d1918d8364fa96a9f0c49 
307f37954f3db08b756d1918d8364fa96a9f0c49
+30e288cd51e998db701b17dd04c5d4113a7dbb42 
30e288cd51e998db701b17dd04c5d4113a7dbb42
+314390fe635beb5990f464f998da311471f6175f 
314390fe635beb5990f464f998da311471f6175f
+314b131b613ccb3e2f7cba17771312fbb9586e41 
314b131b613ccb3e2f7cba17771312fbb9586e41
+315bcf211326ebfb456aaf1d77a30ecdd654136a 
315bcf211326ebfb456aaf1d77a30ecdd654136a
+321524652d38408e47e0e1cd72731f7ddacffb6d 
321524652d38408e47e0e1cd72731f7ddacffb6d
+323e34432870225aa169dce406ec62bd57d19e5d 
323e34432870225aa169dce406ec62bd57d19e5d
+3278a43ffe99184dd064b60548f3cf8de0e860b6 
3278a43ffe99184dd064b60548f3cf8de0e860b6
+335e59c46ba0ebedfbe2dadf995b3712a23200ee 
335e59c46ba0ebedfbe2dadf995b3712a23200ee
+33a0d16e567365580503041090125f682e62a170 
33a0d16e567365580503041090125f682e62a170
+34bed200845a5a8a5fff2c79631036cb5ffdc14f 
34bed200845a5a8a5fff2c79631036cb5ffdc14f
+3708225b1d72f212ce174de4b473e7d43750dca9 
3708225b1d72f212ce174de4b473e7d43750dca9
+375d56ab16c683836809c84956c6d817779ec5a4 
375d56ab16c683836809c84956c6d817779ec5a4
+37a6752f87aa78db7d64590af1957020e15d2e25 
37a6752f87aa78db7d64590af1957020e15d2e25
+37b3af2257fcfe352abc827a44dfb1f0bedd4ada 
37b3af2257fcfe352abc827a44dfb1f0bedd4ada
+37da8a02787b2369f1f3f0c971153e2c4e1d6e14 
37da8a02787b2369f1f3f0c971153e2c4e1d6e14
+38afd26ea13f1c469559da5e42a0a2259547bff4 
38afd26ea13f1c469559da5e42a0a2259547bff4
+3ed1677bf93b570facda172355d7a13a237e99c0 
3ed1677bf93b570facda172355d7a13a237e99c0
+41036c7e185d364c8f980160859ead22effcbecc 
41036c7e185d364c8f980160859ead22effcbecc
+41b03a57494dcfe34b733276d45c3bb3b288e4c1 
41b03a57494dcfe34b733276d45c3bb3b288e4c1
+4257614e75bc5ac39a33e83e9ffa6c4ab9be7120 
4257614e75bc5ac39a33e83e9ffa6c4ab9be7120
+4263d4fe3ef4327642472beb24ce7e6621179950 
4263d4fe3ef4327642472beb24ce7e6621179950
+434fe117235224432c17d11b19b054e4275cdcf7 
434fe117235224432c17d11b19b054e4275cdcf7
+43d7e08b9dbf873feed6a6f64c15ac4db2c19129 
43d7e08b9dbf873feed6a6f64c15ac4db2c19129
+443a5a97a4d8fb6a25e7fe2a8a53565351790b7d 
443a5a97a4d8fb6a25e7fe2a8a53565351790b7d
+4617d418daa2c6091413c208ffed29b02d2714c0 
4617d418daa2c6091413c208ffed29b02d2714c0
+46d0e6aab5481b0a2978c37cac32f55a279ed9c8 
46d0e6aab5481b0a2978c37cac32f55a279ed9c8
+46ed22167b20fd7446404658124108e93a309fca 
46ed22167b20fd7446404658124108e93a309fca
+47c3efdc56fa7b20bb49ddd56b400a1c60789ff9 
47c3efdc56fa7b20bb49ddd56b400a1c60789ff9
+4922ca07649be29bca0a8dd18d9331f6c52f6ff3 
4922ca07649be29bca0a8dd18d9331f6c52f6ff3
+4932c661a043b24dfdc4c93fb6d00bfc4872172b 
4932c661a043b24dfdc4c93fb6d00bfc4872172b
+4a879f2ed0b024ea9400f1a0aad7f9bf3023ded0 
4a879f2ed0b024ea9400f1a0aad7f9bf3023ded0
+4b4fedec2fa4ac130cf453acc7d738355ee915ca 
4b4fedec2fa4ac130cf453acc7d738355ee915ca
+4be7af21f8dc9df63f5e6600937a4fb485d28aeb 
4be7af21f8dc9df63f5e6600937a4fb485d28aeb
+4c30c4efa15179778f64609f89535a7b1e6e13a9 
4c30c4efa15179778f64609f89535a7b1e6e13a9
+4c7fe0865f2cd3dcdaad0ac9402d4539432efb03 
4c7fe0865f2cd3dcdaad0ac9402d4539432efb03
+4db890ab335760a9ed1bee18b711e71375495a9f 
4db890ab335760a9ed1bee18b711e71375495a9f
+4de44eb6c6720a81c61f84e8d77678c75ee5afcc 
4de44eb6c6720a81c61f84e8d77678c75ee5afcc
+4e7b4abfa77edd613fc15fa9902e783f9ab05ca3 
4e7b4abfa77edd613fc15fa9902e783f9ab05ca3
+4efc458457874dc036b3937f666280509c88001e 
4efc458457874dc036b3937f666280509c88001e
+4ffe745352d724c68c7f048ba79df06afe743275 
4ffe745352d724c68c7f048ba79df06afe743275
+51dff9bf962759d03f0d285c1c2643f36df70fe0 
51dff9bf962759d03f0d285c1c2643f36df70fe0
+524450085b4c712888305a91f0e9209cc717f918 
524450085b4c712888305a91f0e9209cc717f918
+52cc5d208fa53d13d94caa8085c108a45afaceda 
52cc5d208fa53d13d94caa8085c108a45afaceda
+530af10b93a219e7ad73e79de31980e7112cab43 
530af10b93a219e7ad73e79de31980e7112cab43
+53b8909db88399f6485f523fc37041614f798e12 
53b8909db88399f6485f523fc37041614f798e12
+53edd01245f379c5f1101fa88d0ec897498806fa 
53edd01245f379c5f1101fa88d0ec897498806fa
+5404eef880e121f10e22d07014ac6b13a617adc8 
5404eef880e121f10e22d07014ac6b13a617adc8
+549d72e4bcda0353f6fdf6a053b431f693fbe4ee 
549d72e4bcda0353f6fdf6a053b431f693fbe4ee
+557281639ffebe0898a7dd41d10ccf5b5b9ba578 
557281639ffebe0898a7dd41d10ccf5b5b9ba578
+5596af4b89c53091caf5e0dac3c7bfffba43c640 
5596af4b89c53091caf5e0dac3c7bfffba43c640
+55dbc4c6d05615364e7e68e31acf28a7b8e88bb6 
55dbc4c6d05615364e7e68e31acf28a7b8e88bb6
+5633870bb40d63abacde4dee8fb51fdf821276b6 
5633870bb40d63abacde4dee8fb51fdf821276b6
+566dbf97c52ef9309b53c82858b6ff7df8b3c1fd 
566dbf97c52ef9309b53c82858b6ff7df8b3c1fd
+56a1b2f8b9d4559174cd906e45f0e9e7754eac3b 
56a1b2f8b9d4559174cd906e45f0e9e7754eac3b
+57bca46d1ec2b6f84b8e17ba6a317473ef229ff8 
57bca46d1ec2b6f84b8e17ba6a317473ef229ff8
+58e535ac23dd51e7f66153482455ce84bbcbd9c9 
58e535ac23dd51e7f66153482455ce84bbcbd9c9
+591aa92a6ce1fe76b41aaf07f84e3031b0b857d9 
591aa92a6ce1fe76b41aaf07f84e3031b0b857d9
+5a1e37beef1c6d161938b34dad8c68d6dd070cb5 
5a1e37beef1c6d161938b34dad8c68d6dd070cb5
+5ad853298494be99a9945daf0f7fb927d21aee8d 
5ad853298494be99a9945daf0f7fb927d21aee8d
+5bd1ae00e92d9a9959489f8d0e8ee1950672b4b9 
5bd1ae00e92d9a9959489f8d0e8ee1950672b4b9
+5be724f290cd64c6374402d8f9dc96e0fbf8b87c 
5be724f290cd64c6374402d8f9dc96e0fbf8b87c
+5d07d16479faa41c488fe8ae7d871f81889dbc8c 
5d07d16479faa41c488fe8ae7d871f81889dbc8c
+5e86e220f836283ef2e7903be16feae8f6cee3b6 
5e86e220f836283ef2e7903be16feae8f6cee3b6
+5eb583d20a5a3c6aab7daf8e0998a834825977d6 
5eb583d20a5a3c6aab7daf8e0998a834825977d6
+60006864653e92f510a4e9d897f279b28f7affc8 
60006864653e92f510a4e9d897f279b28f7affc8
+614e8ddd28e39472bca7d0d7dda50c409397ecc7 
614e8ddd28e39472bca7d0d7dda50c409397ecc7
+6238825b8d5e185daa1bc2e343fb4bbacc2c0504 
6238825b8d5e185daa1bc2e343fb4bbacc2c0504
+62ddea12e2db411852a327de39119daf50758d3e 
62ddea12e2db411852a327de39119daf50758d3e
+62ffd42ca859028e9effb2f83a01498e0c2ec088 
62ffd42ca859028e9effb2f83a01498e0c2ec088
+6308403a44af458d153ce0e7a602ced1f5dbae4c 
6308403a44af458d153ce0e7a602ced1f5dbae4c
+63c900f2b6f1743fc30240526f4aacad938659b1 
63c900f2b6f1743fc30240526f4aacad938659b1
+6440af14cf9d01312aa561aa5bba8e03e424c14e 
6440af14cf9d01312aa561aa5bba8e03e424c14e
+64dea63d09c3ffee840067c9d76e7fa600fcfff5 
64dea63d09c3ffee840067c9d76e7fa600fcfff5
+6500014cf154f9ab143165ef70f72bf9d61359e6 
6500014cf154f9ab143165ef70f72bf9d61359e6
+653de1f18e97084cbe514e15c0a0062dcb2b9f10 
653de1f18e97084cbe514e15c0a0062dcb2b9f10
+6577e0f8e03282ac6993ee8589a974e0796430a0 
6577e0f8e03282ac6993ee8589a974e0796430a0
+659a816a46e46946d1ccdf3ff7f1779d5892a4a8 
659a816a46e46946d1ccdf3ff7f1779d5892a4a8
+66b025b0b4604f2ae8a8211f49c470d9579b7040 
66b025b0b4604f2ae8a8211f49c470d9579b7040
+674bc9f4f9f962cc1c1750cd012bbfa53a5c5d19 
674bc9f4f9f962cc1c1750cd012bbfa53a5c5d19
+67980343b5cfb17fcbc059fbf2938c9af1d0dee7 
67980343b5cfb17fcbc059fbf2938c9af1d0dee7
+6d12fca086d2c051e5704b492ad0850e0fba4bad 
6d12fca086d2c051e5704b492ad0850e0fba4bad
+6dbdc14bea243e3dfff244dc778cbd20586c9c12 
6dbdc14bea243e3dfff244dc778cbd20586c9c12
+6dc1c4dc54ef8005e8fbb17dac8790412f98fa02 
6dc1c4dc54ef8005e8fbb17dac8790412f98fa02
+710e8ec87c6d11bf9840c2d170b74b72d564949e 
710e8ec87c6d11bf9840c2d170b74b72d564949e
+71e54e93866d92960c00f4649e73dce61aca187d 
71e54e93866d92960c00f4649e73dce61aca187d
+731200ba43f32bd51dbe91e24fcfbba6a20d9edb 
731200ba43f32bd51dbe91e24fcfbba6a20d9edb
+734bc750382e7128e21858214e9cfeecf0c1b982 
734bc750382e7128e21858214e9cfeecf0c1b982
+76192aa31ed1876decfe74d8f69336b86623d244 
76192aa31ed1876decfe74d8f69336b86623d244
+76459517b41da520d6d2733d72e15a3931483d9c 
76459517b41da520d6d2733d72e15a3931483d9c
+7705d3fa9129a8194c08e0470b1bfca64160ab5b 
7705d3fa9129a8194c08e0470b1bfca64160ab5b
+7720cdb15eda4e0bfe0d4b13cd895493e0c04f6e 
7720cdb15eda4e0bfe0d4b13cd895493e0c04f6e
+77a932c6ff05074c07ab7c73dd365764cfb42d39 
77a932c6ff05074c07ab7c73dd365764cfb42d39
+783d80d282704873ae8a2e32a75f92526f9b61db 
783d80d282704873ae8a2e32a75f92526f9b61db
+78bfccf05a09bd37da75854029cb7d955c1a2e9a 
78bfccf05a09bd37da75854029cb7d955c1a2e9a
+7932ba34b2cf248623e5e584fe188a5a7b5340a3 
7932ba34b2cf248623e5e584fe188a5a7b5340a3
+797784cb970b48e49e3f9ff4716c58c9a15026be 
797784cb970b48e49e3f9ff4716c58c9a15026be
+79b5eec2d074bbbce39dd3ee43f367bf904749ca 
79b5eec2d074bbbce39dd3ee43f367bf904749ca
+79b78c3adf1f0b0707742bd49a4b52d48fb0891c 
79b78c3adf1f0b0707742bd49a4b52d48fb0891c
+7bb7ebb026b5fcf9d7fa10a7fc6378d239670ca1 
7bb7ebb026b5fcf9d7fa10a7fc6378d239670ca1
+7bf1f8ac195ed616748bab270995b8ca4c4630c3 
7bf1f8ac195ed616748bab270995b8ca4c4630c3
+7d8e33ea9df8ec877cdad45e1426f7a20826b9a0 
7d8e33ea9df8ec877cdad45e1426f7a20826b9a0
+7e064b93ce4e971086952da34768db043c9ed59d 
7e064b93ce4e971086952da34768db043c9ed59d
+7e9ac7f1f1edbcefb9b81a7fdeccf989d7d6083f 
7e9ac7f1f1edbcefb9b81a7fdeccf989d7d6083f
+7eabdb90d106344697be9b5fe56ee6cf72577e42 
7eabdb90d106344697be9b5fe56ee6cf72577e42
+7ec7d79749e10bb4adfd8944c179b57bb248d4e8 
7ec7d79749e10bb4adfd8944c179b57bb248d4e8
+7f09b7ac7b96254c2fc348f79c60b54c3949f86d 
7f09b7ac7b96254c2fc348f79c60b54c3949f86d
+8083972f25ca98c6fdfbdf682013fe039e634a3c 
8083972f25ca98c6fdfbdf682013fe039e634a3c
+80bcd2f5c095f71d64a6aff5735c0566f7d2768f 
80bcd2f5c095f71d64a6aff5735c0566f7d2768f
+80bddc9b39831b8bf68a4abcd98369e4ef465ff7 
80bddc9b39831b8bf68a4abcd98369e4ef465ff7
+80f7202f0ca1d322bb676f1f0cf9252c45097c05 
80f7202f0ca1d322bb676f1f0cf9252c45097c05
+81b42aaaf811814e9421319551cb4f2c1dc6fcc8 
81b42aaaf811814e9421319551cb4f2c1dc6fcc8
+82b74598c00d585d97dd4ea9c006730e8e33d64a 
82b74598c00d585d97dd4ea9c006730e8e33d64a
+83e4b21eb88a9e035bc246a2546c4965a052c861 
83e4b21eb88a9e035bc246a2546c4965a052c861
+83ef964d0e1c0c9b1819e64d8fef2e192a20bfdc 
83ef964d0e1c0c9b1819e64d8fef2e192a20bfdc
+844dab946dd57645f53c925b709d5db5f2f6e76e 
844dab946dd57645f53c925b709d5db5f2f6e76e
+84dd827ac5ff2e1e0062a045099b8ed6062baaaf 
84dd827ac5ff2e1e0062a045099b8ed6062baaaf
+8623938bb1f6d2e72c0ec0c308feabfcd091792d 
8623938bb1f6d2e72c0ec0c308feabfcd091792d
+865ff59cf471a09fff1c578e1ff4a946cd52e9d4 
865ff59cf471a09fff1c578e1ff4a946cd52e9d4
+86e61a80502eadf9a1bd392fc4150c8cb2ce1336 
86e61a80502eadf9a1bd392fc4150c8cb2ce1336
+87707f85dbd8c8f3ab294f651531c8775ff3fd57 
87707f85dbd8c8f3ab294f651531c8775ff3fd57
+881d7d47f5e9bd11d558de493745eed53f65a7a4 
881d7d47f5e9bd11d558de493745eed53f65a7a4
+884952defbdd940d854d3573222eb37478f6190b 
884952defbdd940d854d3573222eb37478f6190b
+88ea47fa4bcd36ca5509aec6c452410b5fd95812 
88ea47fa4bcd36ca5509aec6c452410b5fd95812
+89037784c5de35b5b3b1890e5766ac2a69370206 
89037784c5de35b5b3b1890e5766ac2a69370206
+897252d64cf98397e4e534ec83be1817821f7da6 
897252d64cf98397e4e534ec83be1817821f7da6
+89aca6a0e0f19acfe623a89e1685e289acbf0932 
89aca6a0e0f19acfe623a89e1685e289acbf0932
+89c449006565121ee067b9738e74c95bc0b73153 
89c449006565121ee067b9738e74c95bc0b73153
+8a6c8f316167986c0408b724033338e78548ae0a 
8a6c8f316167986c0408b724033338e78548ae0a
+8b1901764fe3e0d40ce900dfa78673470d8a7626 
8b1901764fe3e0d40ce900dfa78673470d8a7626
+8ce292f408e4f9c831d028a54293f4db416a71e9 
8ce292f408e4f9c831d028a54293f4db416a71e9
+8d1147f064416bea5316319ba4e8bb03e4bdd566 
8d1147f064416bea5316319ba4e8bb03e4bdd566
+8e02fb0c916f369c26b97899633468670aded72b 
8e02fb0c916f369c26b97899633468670aded72b
+8eb6ff429a1b94fad163d41a1f2d69dd59cc6958 
8eb6ff429a1b94fad163d41a1f2d69dd59cc6958
+8f115eea9ea43a17c68e613014a942e65c88ef0d 
8f115eea9ea43a17c68e613014a942e65c88ef0d
+8f17a7e148794ac4efd378fcfdf56c284ef0363d 
8f17a7e148794ac4efd378fcfdf56c284ef0363d
+8fd90e0be7042de37cfaae1562244e9282150908 
8fd90e0be7042de37cfaae1562244e9282150908
+9040575f9941f2b170df4de7f1dfdfa49a3c7144 
9040575f9941f2b170df4de7f1dfdfa49a3c7144
+91176964c48ae73ef9149da9e96484c936717ab9 
91176964c48ae73ef9149da9e96484c936717ab9
+91c0ccb27026f5ff548ace9e891c18f0fd0e6cb7 
91c0ccb27026f5ff548ace9e891c18f0fd0e6cb7
+92cd7fe0dee3c29a3f9ddeb87250104415c49233 
92cd7fe0dee3c29a3f9ddeb87250104415c49233
+936a76bb7bed7aca6f44d79dd893c5965bce4fbe 
936a76bb7bed7aca6f44d79dd893c5965bce4fbe
+941b64b80b6266aa911869502ccf477180d06994 
941b64b80b6266aa911869502ccf477180d06994
+95697fab8119aec095ba5074c06bc667ed29f75f 
95697fab8119aec095ba5074c06bc667ed29f75f
+9580ddc859c1ce5bf99ee4ac003daee559abbaaf 
9580ddc859c1ce5bf99ee4ac003daee559abbaaf
+9639eb78cc3241d0b17d8a884fe2c90180621875 
9639eb78cc3241d0b17d8a884fe2c90180621875
+973062ab21ebf41c9e81b88d45a483d525bc767e 
973062ab21ebf41c9e81b88d45a483d525bc767e
+97338d6bf996dd2098d5aa75398ab3fe559d8111 
97338d6bf996dd2098d5aa75398ab3fe559d8111
+97b823ca68f64c1d6251e5ca0be36ce767e02e3c 
97b823ca68f64c1d6251e5ca0be36ce767e02e3c
+99dd32b5cc7c4155c71249ab55064ca47835bfbb 
99dd32b5cc7c4155c71249ab55064ca47835bfbb
+99faaa9c8a4b6c5716a6664c34a0475a7ed73993 
99faaa9c8a4b6c5716a6664c34a0475a7ed73993
+9d6c053b955b871bb0962d8514e803df36b76061 
9d6c053b955b871bb0962d8514e803df36b76061
+a0137dd27253b130e04f9bb138771fdcc124a424 
a0137dd27253b130e04f9bb138771fdcc124a424
+a185e3ce8a8f6fcb8131d6b0d3985bfcf81b986e 
a185e3ce8a8f6fcb8131d6b0d3985bfcf81b986e
+a199b75ad28940580413938b19671bd6e7f2ab29 
a199b75ad28940580413938b19671bd6e7f2ab29
+a1a041dc617bced987f9bf04251ba44c218b7db1 
a1a041dc617bced987f9bf04251ba44c218b7db1
+a1e10236a02bb131c89a29474bc5f7493bd17c0f 
a1e10236a02bb131c89a29474bc5f7493bd17c0f
+a2c9280d8db15c4b085d7cd4cd49bc8e0e5bbefe 
a2c9280d8db15c4b085d7cd4cd49bc8e0e5bbefe
+a37519551b10f44b6b8e52073c1dbd98fd2d27b6 
a37519551b10f44b6b8e52073c1dbd98fd2d27b6
+a515a8b7ff9f152f58bd073c63bcc07b6171a4e2 
a515a8b7ff9f152f58bd073c63bcc07b6171a4e2
+a63ddd9d62b1f0e5f92406267d972bd63cac922d 
a63ddd9d62b1f0e5f92406267d972bd63cac922d
+a641b2b69ba6619a4ccec38483c460801c77f0ca 
a641b2b69ba6619a4ccec38483c460801c77f0ca
+a96e191194c952a921ac0edfa0170c92ea749587 
a96e191194c952a921ac0edfa0170c92ea749587
+aab7c2db77e5203f46e7cb65deb0391ca5bfb1f7 
aab7c2db77e5203f46e7cb65deb0391ca5bfb1f7
+ab109108c71c79cf60034f9e6a11ad3e05a716a5 
ab109108c71c79cf60034f9e6a11ad3e05a716a5
+ab8ba2abbed577b05108c8d62e0abc3889979bc8 
ab8ba2abbed577b05108c8d62e0abc3889979bc8
+acf899435647022c10e96e1074d9c35e3237cde2 
acf899435647022c10e96e1074d9c35e3237cde2
+ad48ac8679c72da7a79696cd51a4bc32473fff63 
ad48ac8679c72da7a79696cd51a4bc32473fff63
+aec0233045fbd131406c82c97bba3758c14a7f57 
aec0233045fbd131406c82c97bba3758c14a7f57
+aec731ed60ae1ef6bcdb08c8b610681a61141fcd 
aec731ed60ae1ef6bcdb08c8b610681a61141fcd
+af47567a7c60bab6e011a432ed27d19ecdc6a8bb 
af47567a7c60bab6e011a432ed27d19ecdc6a8bb
+b0238821a3b5ffc8f33875c9ea21970c0e8bc9bb 
b0238821a3b5ffc8f33875c9ea21970c0e8bc9bb
+b05d17ca27c1324fbc233d31601923bfa5ee4a31 
b05d17ca27c1324fbc233d31601923bfa5ee4a31
+b169cfa96a1de0ba8d20eda5a9c81680efd1d00a 
b169cfa96a1de0ba8d20eda5a9c81680efd1d00a
+b1db316e7837b53dcf9987a49276da4bdc601245 
b1db316e7837b53dcf9987a49276da4bdc601245
+b2996bb3e1a9f1a52fdc01a5e7da7c033113a828 
b2996bb3e1a9f1a52fdc01a5e7da7c033113a828
+b3934c400400ac66a1c628a6824c4c5b6c14bab5 
b3934c400400ac66a1c628a6824c4c5b6c14bab5
+b39ad106cc7eabb1a58da5fc0294c173be042e88 
b39ad106cc7eabb1a58da5fc0294c173be042e88
+b4615a87d205f535de612fde19d1ffb4507257cc 
b4615a87d205f535de612fde19d1ffb4507257cc
+b4e8267f3155983360027ab521875517706168dd 
b4e8267f3155983360027ab521875517706168dd
+b62949147afaaf7e906ba8c8efe195f54a96911d 
b62949147afaaf7e906ba8c8efe195f54a96911d
+b6b39a21b0a3dc711d29ddc301d3072f73e0796f 
b6b39a21b0a3dc711d29ddc301d3072f73e0796f
+b7ac8dc8567fa2fc3a19b98b309f52ef0c2377fd 
b7ac8dc8567fa2fc3a19b98b309f52ef0c2377fd
+b8107586165f719f29030ca99e4fb1e0ff0464ac 
b8107586165f719f29030ca99e4fb1e0ff0464ac
+b930d3b11dac1ce916b8575471cc1cb67c531d14 
b930d3b11dac1ce916b8575471cc1cb67c531d14
+b9af8577492d28c3b8d06c5a2d0bf59ea745e8d8 
b9af8577492d28c3b8d06c5a2d0bf59ea745e8d8
+ba4bb1ea0b225133d46eccb93ef6bc61c1c86206 
ba4bb1ea0b225133d46eccb93ef6bc61c1c86206
+bbee2c6b90e2149edc3368039f954c8943ecd7b0 
bbee2c6b90e2149edc3368039f954c8943ecd7b0
+bda43a33c879ad6c015d244143e3947a8ecd1765 
bda43a33c879ad6c015d244143e3947a8ecd1765
+be24d3817e942e9f5d3a5d53585e1b0c3b478f52 
be24d3817e942e9f5d3a5d53585e1b0c3b478f52
+be719f516748e5242b949761f26beee390151e29 
be719f516748e5242b949761f26beee390151e29
+bf50f1739f24e6c642701af2545da69c52dcb459 
bf50f1739f24e6c642701af2545da69c52dcb459
+bfaf948846ee3da3f00070e0dc770dd18001f3fd 
bfaf948846ee3da3f00070e0dc770dd18001f3fd
+c0804644be5cc55202f79c86d248422b84412ec2 
c0804644be5cc55202f79c86d248422b84412ec2
+c27673b233e9cfa62eaf9469d94b9bdecccee8cb 
c27673b233e9cfa62eaf9469d94b9bdecccee8cb
+c30c23ead02fb903ae3f3a34a47d3353ea10dd89 
c30c23ead02fb903ae3f3a34a47d3353ea10dd89
+c41c3bcc0a8083887621c7baa1792b5e5fd27466 
c41c3bcc0a8083887621c7baa1792b5e5fd27466
+c427276edfed37ea4aefba7ed8d8b4a35acb5872 
c427276edfed37ea4aefba7ed8d8b4a35acb5872
+c82f9dfc4e9ebb7183fbef5697d173836a9817f7 
c82f9dfc4e9ebb7183fbef5697d173836a9817f7
+c88b2a3d7b86f575ddc46da4b1fd0a19b0908ace 
c88b2a3d7b86f575ddc46da4b1fd0a19b0908ace
+c9047a4702bd5aa187084278c57e8fd5397bc4d9 
c9047a4702bd5aa187084278c57e8fd5397bc4d9
+cb1d7e7bd6e817c9e78453ab09e0f5b3725e124d 
cb1d7e7bd6e817c9e78453ab09e0f5b3725e124d
+cbe78495aa2d2c45c927b9187cf40cf3d868ca15 
cbe78495aa2d2c45c927b9187cf40cf3d868ca15
+ce1cb9305258a4003d4a15a4c285a08ff3a1a6f0 
ce1cb9305258a4003d4a15a4c285a08ff3a1a6f0
+ce80ea25a2fd3b4d433dd3fde42671641c80fc20 
ce80ea25a2fd3b4d433dd3fde42671641c80fc20
+d1857545d2f519b09840dff12c7390cbd9345311 
d1857545d2f519b09840dff12c7390cbd9345311
+d1c91dd122540ee1c6e972a8594c517124475a5d 
d1c91dd122540ee1c6e972a8594c517124475a5d
+d26bf2288b5ba1bbdb4fae6c311a59c594174331 
d26bf2288b5ba1bbdb4fae6c311a59c594174331
+d28e913617cf0c12dff61a838606fcdcf451de1b 
d28e913617cf0c12dff61a838606fcdcf451de1b
+d30999c05859d4011a46595173e37e56638eaa30 
d30999c05859d4011a46595173e37e56638eaa30
+d351c695eeb3867c50f4e5b263453bfc33f20d56 
d351c695eeb3867c50f4e5b263453bfc33f20d56
+d3ebcdf8a71eab470d18692c6fbfbcc8a096a34a 
d3ebcdf8a71eab470d18692c6fbfbcc8a096a34a
+d424a4fa18ab8572716d14f6a0a67a876e26321b 
d424a4fa18ab8572716d14f6a0a67a876e26321b
+d637b51c9b800a87e1fe5f64ed35c0e04b9e668b 
d637b51c9b800a87e1fe5f64ed35c0e04b9e668b
+d638f3e5cc42ef1eb9e94dbc0ffe184fcbd62399 
d638f3e5cc42ef1eb9e94dbc0ffe184fcbd62399
+d67233defcbc2e322eae084c7e65156931b3fbd6 
d67233defcbc2e322eae084c7e65156931b3fbd6
+d8d43802d5d1821f5cd76ed85e7d166176292a48 
d8d43802d5d1821f5cd76ed85e7d166176292a48
+d90af7ea969c29c9d45396ab3fdc40d84fe3cc5d 
d90af7ea969c29c9d45396ab3fdc40d84fe3cc5d
+d922ba670dd91c453c4debee8ba76eac69bdf859 
d922ba670dd91c453c4debee8ba76eac69bdf859
+d933dcdec559cae1eafa39ca98570313c72fd018 
d933dcdec559cae1eafa39ca98570313c72fd018
+da6c7690ecc1bf12f02f06de3d16a94ae6c431a3 
da6c7690ecc1bf12f02f06de3d16a94ae6c431a3
+daab90b14e6a3aab5b40a33a45761b76aaa398d2 
daab90b14e6a3aab5b40a33a45761b76aaa398d2
+dcc6e997ea8b060d314c36ceabcc5d524c56aa33 
dcc6e997ea8b060d314c36ceabcc5d524c56aa33
+dd23bfe1dd55f83737bc4bcfc60386e56103947d 
dd23bfe1dd55f83737bc4bcfc60386e56103947d
+de66986a913bc28fb7519dbe32b63914df0501fb 
de66986a913bc28fb7519dbe32b63914df0501fb
+df3b8da66a9a252083dd0ad2d72e16beb284e59e 
df3b8da66a9a252083dd0ad2d72e16beb284e59e
+df952a1219d2929e3007009e553bebe92ab57ba3 
df952a1219d2929e3007009e553bebe92ab57ba3
+e03427ac056693cfbcfc2dca2d3e81cba229ae4a 
e03427ac056693cfbcfc2dca2d3e81cba229ae4a
+e3c07a56d5794f672c532fbe04f70c6e91966a6d 
e3c07a56d5794f672c532fbe04f70c6e91966a6d
+e51c52e9c3644b118fa6ea41168dd9d848de9c0a 
e51c52e9c3644b118fa6ea41168dd9d848de9c0a
+e5e2153b061e9910efb12e6ba9ecf7a3cae11906 
e5e2153b061e9910efb12e6ba9ecf7a3cae11906
+e65473b566e48ff6325f666344880faaa3f5f900 
e65473b566e48ff6325f666344880faaa3f5f900
+e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
+e8f61369f071cddeef96dc5cbee3d2de763b7f20 
e8f61369f071cddeef96dc5cbee3d2de763b7f20
+e99ba74cfdb34105f553b2e7b6b786c975c09565 
e99ba74cfdb34105f553b2e7b6b786c975c09565
+ecb359e58645a9400e5b2d18867820aba7a76015 
ecb359e58645a9400e5b2d18867820aba7a76015
+ecb44ed996b7df5fec7a391ac5b749ae8a8002d1 
ecb44ed996b7df5fec7a391ac5b749ae8a8002d1
+eec0fb02e19f2afda713b875d8ce413d7906d0c0 
eec0fb02e19f2afda713b875d8ce413d7906d0c0
+f0967f556808cb634bb87569b2d84add0a1a66c1 
f0967f556808cb634bb87569b2d84add0a1a66c1
+f0e12be036d762bbf2e3c4aaaad6bb12af787ce2 
f0e12be036d762bbf2e3c4aaaad6bb12af787ce2
+f16e0517db28144f0022404178275d3065b37a10 
f16e0517db28144f0022404178275d3065b37a10
+f19433472d8dab72a9a9fb29dd146fbf5ce18ba4 
f19433472d8dab72a9a9fb29dd146fbf5ce18ba4
+f1c739838ffeb752368840edd39b2e16495ab523 
f1c739838ffeb752368840edd39b2e16495ab523
+f296f68f3928c64a819c719ba753137fbb69cdff 
f296f68f3928c64a819c719ba753137fbb69cdff
+f29e7ea8f19c74d03a8c58a5f6d9e6fb41d7ddf0 
f29e7ea8f19c74d03a8c58a5f6d9e6fb41d7ddf0
+f32bab92a44da7e3892cae1b30181c1f17655d5f 
f32bab92a44da7e3892cae1b30181c1f17655d5f
+f3785ec8397107eb0326c7fbfaee48c86a32e831 
f3785ec8397107eb0326c7fbfaee48c86a32e831
+f397fb58d6beda05b04d071458de36bfd26184b0 
f397fb58d6beda05b04d071458de36bfd26184b0
+f3d089438786f92d841db340e101b6e9988eb3ff 
f3d089438786f92d841db340e101b6e9988eb3ff
+f40292b9244c019db1b4f11bd7bf89374ad315d8 
f40292b9244c019db1b4f11bd7bf89374ad315d8
+f91366444cf0e9eecb9e02d7155438fce27423cc 
f91366444cf0e9eecb9e02d7155438fce27423cc
+f93d22ac5430b2b6bd55c5a1c70fc24863bde9be 
f93d22ac5430b2b6bd55c5a1c70fc24863bde9be
+fa1385d99a319b43c06f5309d1aae9fdd3adea46 
fa1385d99a319b43c06f5309d1aae9fdd3adea46
+fb097381c225da9a842e6b150ae1e5408564fe5d 
fb097381c225da9a842e6b150ae1e5408564fe5d
+fb3b6020af4c48faac817eff566ea9f4ef9941e0 
fb3b6020af4c48faac817eff566ea9f4ef9941e0
+fc39455cd713279b64e65863226d82316863e85f 
fc39455cd713279b64e65863226d82316863e85f
+fc4d41330a05af77bf2876ca12f18a276d255e9c 
fc4d41330a05af77bf2876ca12f18a276d255e9c
+fdb5cab4fcb5ce7100bab9bc7d97c692f1000df5 
fdb5cab4fcb5ce7100bab9bc7d97c692f1000df5
+fe458b9c9004ea6e1ff9f6ccb129406378839ebf 
fe458b9c9004ea6e1ff9f6ccb129406378839ebf
+feb8b67b64b1e5171a9a2aa041e1dafba9140136 
feb8b67b64b1e5171a9a2aa041e1dafba9140136
Binary files 
old/just-1.57.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.rev
 and 
new/just-1.58.0/.git/objects/pack/pack-8286ef90ffb8915c6fdfe69d1a7f14acfdc37cbb.rev
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.idx
 and 
new/just-1.58.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.idx
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.pack
 and 
new/just-1.58.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.pack
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/just-1.57.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.promisor
 
new/just-1.58.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.promisor
--- 
old/just-1.57.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.promisor
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/just-1.58.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.promisor
    2026-08-03 22:28:37.000000000 +0200
@@ -0,0 +1,184 @@
+4f41f609278edb6f1024e3dd7a9912946e1e7bc3 HEAD
+993bdb8ff0e5feb6013c7e69fa7d56b87a2feaca refs/heads/gh-pages
+4f41f609278edb6f1024e3dd7a9912946e1e7bc3 refs/heads/master
+401845600ba9095012a71357716d653d90322c1f refs/tags/0.10.0
+d835b88b127739cbe38aa5ff1394f361ede7ad18 refs/tags/0.10.1
+4479afa99657e1e5a016bc517480d0e05956c591 refs/tags/0.10.2
+bd2287520bfc984780a4ba2c3fc86f8e09abf1d2 refs/tags/0.10.3
+ea116075cd26789fb05322427a902b8baf2931eb refs/tags/0.10.4
+1192e98b84673c5d07725b427595c517d9249652 refs/tags/0.10.5
+1cacbea1ce388b181636e9ad0ce5d7968780e4f1 refs/tags/0.10.6
+5ca1b13b62e4f8f3a7d5cd1b2d8e2792dfd0f732 refs/tags/0.10.7
+80ff85c0b873f087a102d0d2ded6a105b75e1fc9 refs/tags/0.11.0
+32788f1b436af4c925d0f7d0ae506ed54141ad08 refs/tags/0.11.1
+d1333061bb92245be662e6e619f2956dca78b79d refs/tags/0.11.2
+001f946e6635874439e58f76e422c5d12642c4d0 refs/tags/0.9.5
+2a3c1b56dbd50c74a091e5579467ad3886bf1c9c refs/tags/0.9.6
+ad64d53a2f64416b0acf007e5f8092c26e343fdd refs/tags/0.9.7
+6ec34974a70c4ca3ec19e11c8471b876d32b9736 refs/tags/0.9.8
+35ee26604c9731cb70185cb9f2fe4ee112b30d56 refs/tags/0.9.9
+d1506bca4d7b8a0e3a058e75d378f3bdbf5f3e10 refs/tags/1.0.0
+812cc96391ff2b9946b22b2097bb3b5b5eb553ea refs/tags/1.0.1
+feeedf32f945cd43fa5bb10ee3d6ba48c508977b refs/tags/1.1.0
+849ac4e1399b08fb98953c7abc57d18852864263 refs/tags/1.1.1
+93ff2483cc3ff90e1930764f2e3960bc738f67f9 refs/tags/1.1.2
+99b30dc7fc3ec7b14b5caf768d51461c599119f0 refs/tags/1.1.3
+3dcd1f7584f713915fd4bae4aa03cf9014d2806e refs/tags/1.10.0
+824604de51b102cb730ddb68f79cce7d74b12131 refs/tags/1.11.0
+4306c0f98708c17bd3287cf51802b268b60987b5 refs/tags/1.12.0
+4e9f72be33602e6be01c00342a3d5713fa84dd37 refs/tags/1.13.0
+d3740434649d2669b65b73afdcde309dcef4f7f3 refs/tags/1.14.0
+ee713b649c794fed35c280a384101be1c99d053d refs/tags/1.15.0
+af55be376f8d0fffab00b6341242d968ecfd3470 refs/tags/1.16.0
+f3333137204f3b122388e824604be3a1d026b295 refs/tags/1.17.0
+253d4ae4ae20c2708bda7903e7b6d278a9266fd8 refs/tags/1.18.0
+e0ba7fb1d64f1c03d8cb201f75e3f2509fb81bee refs/tags/1.18.1
+9ae60ec2879eb3df03113bd6c6f2846e0b5b29da refs/tags/1.19.0
+c6409a2c1157983dfa1a0922d1cd05d85b43d929 refs/tags/1.2.0
+ba6c5ecda8ebc47d8fbe1325187b621129e263c7 refs/tags/1.20.0
+4d321486136fe4fbba708e0c3737e4c28bf53fcb refs/tags/1.21.0
+67fb973386acd70ff329af884b2477150f2f3983 refs/tags/1.22.0
+d70586cfc0a1d85efac5c416cdd3c49e4bbac85d refs/tags/1.22.1
+65578afc42165a32badf878369d488ea8811d693 refs/tags/1.23.0
+b7325c351f91e00256fd1c685e499a1dbd28ba1b refs/tags/1.24.0
+1b8b053c5f891fc0b9c835bfc8d2b5ef0bca69a9 refs/tags/1.25.0
+185985ac5b325037c6467ff7825ba2075141f17a refs/tags/1.25.1
+c64424476a3ac674e28eead5350729f3b1c55984 refs/tags/1.25.2
+c7422c148b42c110dfd945840b468d51ff2b0919 refs/tags/1.26.0
+663ceca936ebe37a2e5a8d2baafe0d124c7993d4 refs/tags/1.27.0
+a295ee9d428fc4f46ff9327a320fd0a2144edf34 refs/tags/1.28.0
+a926d847c41399a7c4053172e13ff7acac1e8965 refs/tags/1.29.0
+f2d59e4f4cc1ed0fa14a78be6fb275d47462e837 refs/tags/1.29.1
+6cfce726a546bb453d77d30ecaf25cba04d37953 refs/tags/1.3.0
+dbdeffbcc46e760fba11e79f0bad90bb766c517d refs/tags/1.30.0
+b90aa7ffe22d31cd78288c51da28ba15c9d4074f refs/tags/1.30.1
+f8ae6f9ca7a90b34b12759921ccb1491ac2a7aa8 refs/tags/1.31.0
+f7c6e0cadbeef36742c6bde7df0dc8d7326be089 refs/tags/1.32.0
+a5a7cca90770248a523fa6656b16f38d3ccf007e refs/tags/1.33.0
+0802dba610d351685b04154ffd559a3462e59adb refs/tags/1.34.0
+b9e1b9e7aba755e680d6b85bb273a12b3c91c643 refs/tags/1.35.0
+ae09563eda15e62a88e390dc9dd8bb7d91bb84cc refs/tags/1.36.0
+8a9b75ef45d851075d024b9390509563bdf46c8a refs/tags/1.37.0
+d7530257e87cdd067d0faadc92017f63569cfabc refs/tags/1.38.0
+e303f2b8f2b120ab39013b654b6ae6422d9af6d2 refs/tags/1.39.0
+683cbe779c1d7e48b6df6ee0dfece6cb10a458e0 refs/tags/1.4.0
+aa7780e183401361c25fd48cc111769dca1812bb refs/tags/1.40.0
+1029ae4a114043f01bd1ce9c90bdc42611fe771c refs/tags/1.41.0
+c79598da541611258b33ce1953d70aadcbc37f6b refs/tags/1.42.0
+6763340cbf1133f8e33cf4592a52b4200ab86675 refs/tags/1.42.1
+ef4eaf420fae7767758b16324e888d5791fd3c3a refs/tags/1.42.2
+07bab1dbbe4c4c352a62419f2042c82d6867c13b refs/tags/1.42.3
+dcb53f8777dbd3d9305f5ea35aaae6ddb86dcf20 refs/tags/1.42.4
+6e6a4412460a563723eb4abb0e4d59b19f1629d2 refs/tags/1.43.0
+7501f68ec1ada409831c333599b9e39beb172f83 refs/tags/1.43.1
+439e5bdb3969b08e0dee19d99e00b12d04fab661 refs/tags/1.44.0
+ca06001dac9ba85a18e7763d0aaae91808ade597 refs/tags/1.44.1
+25ffe1687d34fdbd52ee51da4d5ae1b249efa4b6 refs/tags/1.45.0
+f39e832f09f8b34159ef7dd8401f5187ab86410b refs/tags/1.46.0
+6b0829c094421a932277b7bff91917f73ddbcbdb refs/tags/1.47.0
+8e14fafe8a991824758c083bd60e3fcfdca3696b refs/tags/1.47.1
+6ce9eb1730929282ef97d94f73cab0be5b77e246 refs/tags/1.48.0
+cd458a2ff047207dbbd6153c306a17a14235ff50 refs/tags/1.48.1
+14aa0f057b6ce5fd2932503b25eee946ce337e52 refs/tags/1.49.0
+baabd507b7b83ed6a15fb1df9db1792cd44e0ec5 refs/tags/1.5.0
+cbdc9f636adb26166ddcd200515e5c4b20123679 refs/tags/1.50.0
+6bda269116363e8501f84bb296c7ec47e4ee06ad refs/tags/1.51.0
+f41d35750fcd786c711d08bc0182a2909499e74e refs/tags/1.52.0
+41e7321345472555caa617ba5b36100abe407c46 refs/tags/1.53.0
+6c134089465461e466bbb72843096b4215d786c9 refs/tags/1.54.0
+096b616a94ab029dfc0dc68ec70c2654ba657443 refs/tags/1.55.0
+73089009aebf1f90a7260068c984864de482eaad refs/tags/1.55.1
+f9963a4df9bd438e0db91f9440b7c58ef0432c85 refs/tags/1.56.0
+990e83db3a6ffa049ea0e4ec1eb3589351ce85d7 refs/tags/1.57.0
+ebedee5bafe1ce779e93d91a2eff0c1bf3687b9c refs/tags/1.58.0
+8a68bbe1f0b9914afaae677664a132b643809e9d refs/tags/1.6.0
+55bbdd014efe288af506b5fea9fa8d8fdb50fd78 refs/tags/1.7.0
+37455a85d1a9ce28627aee3047472f2295175fd0 refs/tags/1.8.0
+7bbf68758f589c4be69d4e25547f8f01f0a2fc5b refs/tags/1.9.0
+c04f1cc4080b1f6b10ab6e66ba621b67f10ea116 refs/tags/v0.1.0
+270d6385d8607a9bee38da72f1ab0f64891cd562 refs/tags/v0.1.1
+110f2e05aab012d780edbfc828b9b4a702b4484a refs/tags/v0.1.2
+cad25a145fa899203fa0d40aefb62a5949101ee5 refs/tags/v0.1.3
+7cb6597e12f9237b2c23e95a83a3720065318301 refs/tags/v0.1.4
+e172c96ee99a167a7c33cd60ec5cf4113765805a refs/tags/v0.1.5
+0eb5dfded9caecad3d2e821c4f349c7857f62077 refs/tags/v0.2.0
+c7641424705a70638a0799567b6ae7b389b30be5 refs/tags/v0.2.1
+adf5f30b638ad5c2d51aed028843d0e549ffcbec refs/tags/v0.2.10
+845bee2ad72c8556886aadb17b366e9631af21ee refs/tags/v0.2.11
+cdb623108e5b7033d955386cc6ad30768d7e40c7 refs/tags/v0.2.13
+0b822b94ad93cf5bdd01287458ee2730e273c57a refs/tags/v0.2.14
+b79e87e96bb5afcfd025403e0092faebb32bb5db refs/tags/v0.2.15
+d129aca8c7f680536fa8f237c57ad544efd4a5fd refs/tags/v0.2.16
+2e112af272101d4f6039282090d7cb4c3fda7822 refs/tags/v0.2.18
+748518c2f2e9d2c2e3ed5d20225412412b009d28 refs/tags/v0.2.19
+9d9949312101b89e13b17c6e5858163b81acaa08 refs/tags/v0.2.2
+4274d0a0c38973c0a2085b7a4a34a4d094330cbd refs/tags/v0.2.20
+a12afea525ce56ad7bc97c7669badb50b0c86506 refs/tags/v0.2.21
+1ca06c4fbd95b530543e70fe89c343a45d3a3ac1 refs/tags/v0.2.22
+a01614b517d9a126722a812e2e84afbbace7392f refs/tags/v0.2.23
+1fd60d8cdbb1137c9e7c85426a3ba3ae39b7850a refs/tags/v0.2.24
+b2307f9122c3f85495cfea92d6cd218bdb6343fc refs/tags/v0.2.25
+c6e695233bf2f132bcd493a3b12d1f3ed8dc7a17 refs/tags/v0.2.26
+285da33d93c7f5a1e87c1db3d59edd9da8212ca9 refs/tags/v0.2.27
+00a3e267cbfa368048508c865c5e806e5cbcb68a refs/tags/v0.2.28
+17984f7af393d0fe954471f85e87cb6a6daa9d9f refs/tags/v0.2.29
+0aa38549c00c9e4cbc7cba6c189fc865b7a675cb refs/tags/v0.2.3
+9a0691a2d7d682a1b4aececed157f314be4bf78a refs/tags/v0.2.31
+82956215fae50da74b8d3ad18c6a8ca492871357 refs/tags/v0.2.32
+f1f0a3eb0a6a7156d76ffe4a72494a861620861b refs/tags/v0.2.33
+8a7363be070b144bd6a137fb64a5e64f1da75d0a refs/tags/v0.2.4
+48900978ae0b273687cc82ca0aecd0b1b6de2775 refs/tags/v0.2.5
+1b20126152307d3f50a060572ca75d4eb338bc52 refs/tags/v0.2.6
+76a309f76d59b1462bdeff36ddbd1bf2203ab2bb refs/tags/v0.2.7
+fdc9007a7c6bf58e9f0cd0dde05d99c3c541679b refs/tags/v0.2.8
+bc92e80d68b3c8327d989496c2a0a51393d0af52 refs/tags/v0.2.9
+97eb6e70bfab092a82b13473df00c94b8c5bbb00 refs/tags/v0.3.1
+c85a14d9bbc5d074dbaafd9edc3af189bb1ab761 refs/tags/v0.3.10
+ebf750e83e4956471f897ab43f0381df7f10a8ad refs/tags/v0.3.11
+787d033c5bd73f3c6982908b3a13d53663b23b4d refs/tags/v0.3.12
+62c67ebcd367ff8230be8492b800c4a8d88be497 refs/tags/v0.3.13
+e12f9394b4e4f361a2a7dd446ff65b46880ebaeb refs/tags/v0.3.2
+15b5abb5f4c38053be88958dcacbc42b12ff601d refs/tags/v0.3.3
+6bc23f657142b0289215ef5749d3433df9eae0ea refs/tags/v0.3.4
+d9aadf561d0e2de73522e7cb5082bd90d728d94d refs/tags/v0.3.5
+5ac492feb070be80137798d5f10bea9f3f8d4f58 refs/tags/v0.3.6
+9e2caa814f6fca91cea0fe1c9911ced88c6fb95e refs/tags/v0.3.7
+d6c0cce8796660d3ca5c2c5d66954d014e601834 refs/tags/v0.3.8
+781a48c7d3a70b13242b18704f08e8542fd15def refs/tags/v0.3.9
+cfb4d5bf9ff44e75160ec28b40f9a7d15b620080 refs/tags/v0.4.0
+ac375028a92793170717f7dd8a03410868e9b806 refs/tags/v0.4.1
+6a7ca553702ee198aca4e3155694ec5e91765e81 refs/tags/v0.4.2
+1796d9badaa3d6398d21931556a2250057329dc6 refs/tags/v0.4.3
+1dfcf589e414f9dd19ac0e6cce6e6a1302c46cd9 refs/tags/v0.4.4
+0ae33e7eeeb80c4e91ad0c0f125d68b258d137a4 refs/tags/v0.4.5
+2193263c177a8005af98dd76496760c2644ad576 refs/tags/v0.5.0
+dec6fbc30bc67984291a6e40ee453ec83ff28fc2 refs/tags/v0.5.1
+7a49a1242c53ee6c4309a9bee9001bde5597176a refs/tags/v0.5.10
+4fad29ebd1c296646ca624778782247969121b28 refs/tags/v0.5.11
+f033c7095609dca5f4468421c742e42c348973d8 refs/tags/v0.5.2
+489a74b61d91341850850d125f4da30b2e5d0210 refs/tags/v0.5.3
+5c45e16e28908fbea5e05c326bd59da28a60290c refs/tags/v0.5.4
+a044b75b01d544ac89e3ad6f54f96c80952daa59 refs/tags/v0.5.5
+0af6353ae08a59d9294fead9b8eb7121bf0b6956 refs/tags/v0.5.6
+f12c539f27de1da24d1e4fa283298a42a08e712e refs/tags/v0.5.7
+78deb3372732d5164fa56514fee5c0634793ee86 refs/tags/v0.5.8
+8763dee1e1e9ab3cd4913a95b8271cdff27a2262 refs/tags/v0.5.9
+87ac332d7f81e01673813e5d29282c8001e414bd refs/tags/v0.6.0
+2b170210f9ae03eb49de93b4b5200f21f2bf41ea refs/tags/v0.6.1
+0427b177c5d1c634a553859d6903235864dd0ff7 refs/tags/v0.7.0
+a1b414fae6d78cedf3cfba6ad5922a9f68346b57 refs/tags/v0.7.1
+3f9b93eb00bdf30835eb42a58f43658c02937c5b refs/tags/v0.7.2
+a13eec9af7e9d239e6c72ac6b0bb35c61c0b255c refs/tags/v0.7.3
+1a0aa9d2346a15244cfbfdf40d55eb146bfebfb0 refs/tags/v0.8.0
+ce72388977a59a855e3490561a685978d1b6dd72 refs/tags/v0.8.1
+e48ea337754fb93a1f5647b605ceb82de7fe50c9 refs/tags/v0.8.2
+e318840462461433845776705b7b863530ca61bb refs/tags/v0.8.3
+91b565c0a5895779f9633b166de7f31e24c4d512 refs/tags/v0.8.4
+f051a0b9a49ae1a252946733bd0475b03e5f33e0 refs/tags/v0.8.5
+65d7d1af98de9e11cd1708d1f2a6f9552e28a836 refs/tags/v0.8.6
+f84c9a6520f7bcbc44bfca126975d8900bf017bc refs/tags/v0.8.7
+f2e96fc714dde0e2681beaba0736b7023296317a refs/tags/v0.9.0
+21d26d84a4ba30dfdf0c8dea3a1eccb246f1f75d refs/tags/v0.9.1
+c5992892ceab7bdec4a17bf6968d0da1bc3e1ad1 refs/tags/v0.9.2
+93a8d8592a1eddf21a504cd7b5cc2fedf4a2c642 refs/tags/v0.9.3
+44a338d7b4f5d0a05c187ee11683adbf009fc511 refs/tags/v0.9.4
Binary files 
old/just-1.57.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.rev
 and 
new/just-1.58.0/.git/objects/pack/pack-86c14a04bdf1bcfcbe1ddf530541dd5f6b56f8c4.rev
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.idx
 and 
new/just-1.58.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.idx
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.pack
 and 
new/just-1.58.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.pack
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.rev
 and 
new/just-1.58.0/.git/objects/pack/pack-adbe04c7daea245279f5cb45d67b9d001570da8c.rev
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.idx
 and 
new/just-1.58.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.idx
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.pack
 and 
new/just-1.58.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.pack
 differ
Binary files 
old/just-1.57.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.rev
 and 
new/just-1.58.0/.git/objects/pack/pack-c91011b0fa09b5290841cc33261673770c4c5992.rev
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/.git/packed-refs 
new/just-1.58.0/.git/packed-refs
--- old/just-1.57.0/.git/packed-refs    2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/.git/packed-refs    2026-08-03 22:28:37.000000000 +0200
@@ -1,6 +1,6 @@
 # pack-refs with: peeled fully-peeled sorted 
-8b18b1e76922ab179f34e5fe17b347314a5d136c refs/remotes/origin/gh-pages
-13bf03f642f4cec7799c19f1f8f039e1cb3b095d refs/remotes/origin/master
+993bdb8ff0e5feb6013c7e69fa7d56b87a2feaca refs/remotes/origin/gh-pages
+4f41f609278edb6f1024e3dd7a9912946e1e7bc3 refs/remotes/origin/master
 401845600ba9095012a71357716d653d90322c1f refs/tags/0.10.0
 ^6783e02c7ccd82a9474391e226e65ed052216733
 d835b88b127739cbe38aa5ff1394f361ede7ad18 refs/tags/0.10.1
@@ -179,6 +179,8 @@
 ^2fd820433b0204d484b67049b3192006c3545684
 990e83db3a6ffa049ea0e4ec1eb3589351ce85d7 refs/tags/1.57.0
 ^e01a6bd7e7a30baf86bc86d2b95b0998ebbdc36f
+ebedee5bafe1ce779e93d91a2eff0c1bf3687b9c refs/tags/1.58.0
+^7f4ef81bd6a93faa2b28430912c8e9ab0e3dd29a
 8a68bbe1f0b9914afaae677664a132b643809e9d refs/tags/1.6.0
 ^ffb547924a57901832b11e0ee51ec5bec16d1d4e
 55bbdd014efe288af506b5fea9fa8d8fdb50fd78 refs/tags/1.7.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/.git/refs/heads/master 
new/just-1.58.0/.git/refs/heads/master
--- old/just-1.57.0/.git/refs/heads/master      2026-07-19 03:56:15.000000000 
+0200
+++ new/just-1.58.0/.git/refs/heads/master      2026-08-03 22:28:37.000000000 
+0200
@@ -1 +1 @@
-13bf03f642f4cec7799c19f1f8f039e1cb3b095d
+4f41f609278edb6f1024e3dd7a9912946e1e7bc3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/CHANGELOG.md new/just-1.58.0/CHANGELOG.md
--- old/just-1.57.0/CHANGELOG.md        2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/CHANGELOG.md        2026-08-03 22:28:37.000000000 +0200
@@ -1,6 +1,21 @@
 Changelog
 =========
 
+[1.58.0](https://github.com/casey/just/releases/tag/1.58.0) - 2026-08-03
+------------------------------------------------------------------------
+
+### Changed
+- Surround interoplation expressions with spaces when formatting 
([#3685](https://github.com/casey/just/pull/3685) by 
[casey](https://github.com/casey))
+- Accept multiple `,`-separated values in `--justfile-name` 
([#3676](https://github.com/casey/just/pull/3676) by 
[casey](https://github.com/casey))
+
+### Added
+- Add format argument to `[timestamp]` attribute 
([#3681](https://github.com/casey/just/pull/3681) by 
[casey](https://github.com/casey))
+- Add `[timestamp]` recipe attribute 
([#3680](https://github.com/casey/just/pull/3680) by 
[casey](https://github.com/casey))
+
+### Misc
+- Note that `no-cd` only affects recipe working directory 
([#3679](https://github.com/casey/just/pull/3679) by 
[casey](https://github.com/casey))
+- Link to GitHub from docs ([#3674](https://github.com/casey/just/pull/3674) 
by [casey](https://github.com/casey))
+
 [1.57.0](https://github.com/casey/just/releases/tag/1.57.0) - 2026-07-18
 ------------------------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/Cargo.lock new/just-1.58.0/Cargo.lock
--- old/just-1.57.0/Cargo.lock  2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/Cargo.lock  2026-08-03 22:28:37.000000000 +0200
@@ -15,9 +15,9 @@
 
 [[package]]
 name = "aho-corasick"
-version = "1.1.4"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
+checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba"
 dependencies = [
  "memchr",
 ]
@@ -165,15 +165,15 @@
 
 [[package]]
 name = "camino"
-version = "1.2.4"
+version = "1.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5f2d30e4173c4026932d51d31d6b0613b1fd3014bf3f9f8943d4ba139c437ba0"
+checksum = "bb1307f12aa967b5a58416e87b3653360e0fd614a016b6e970db08fecbb1b80d"
 
 [[package]]
 name = "cc"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c89588d05638b5b4594a3348a2d6c20277e43a7f5c5202b05cc56888475a47b8"
+checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9"
 dependencies = [
  "find-msvc-tools",
  "shlex",
@@ -217,9 +217,9 @@
 
 [[package]]
 name = "clap"
-version = "4.6.2"
+version = "4.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "dd059f9da4f5c36b3787f65d38ccaab1cc315f07b01f89abc8359ee6a8205011"
+checksum = "301b56658598e48f3648647ac6fc887be7e7108eddfa4e9b63fcf3ec58c0cadf"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -227,9 +227,9 @@
 
 [[package]]
 name = "clap_builder"
-version = "4.6.2"
+version = "4.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f09628afdcc538b57f3c6341e9c8e9970f18e4a481690a64974d7023bd33548b"
+checksum = "94a65403d1a1bd28f7dc68eb8506e8874808ee5eecb59298de588e2e1407a078"
 dependencies = [
  "anstream",
  "anstyle",
@@ -240,9 +240,9 @@
 
 [[package]]
 name = "clap_complete"
-version = "4.6.7"
+version = "4.6.8"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "db8b397918185f0161ff3d6fcaa9e4bfc09b8367caf6e1d4a2848e5477ed027b"
+checksum = "b1f84a88507dbd05c695f2cb5e8558e747179134005e9893882dec964190ed89"
 dependencies = [
  "clap",
  "clap_lex",
@@ -252,14 +252,14 @@
 
 [[package]]
 name = "clap_derive"
-version = "4.6.1"
+version = "4.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9"
+checksum = "d012d2b9d65aca7f18f4d9878a045bc17899bba951561ba5ec3c2ba1eed9a061"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.119",
+ "syn 3.0.3",
 ]
 
 [[package]]
@@ -439,9 +439,9 @@
 
 [[package]]
 name = "fastrand"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
+checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
 
 [[package]]
 name = "find-msvc-tools"
@@ -545,9 +545,9 @@
 
 [[package]]
 name = "hybrid-array"
-version = "0.4.13"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c"
+checksum = "707114b52a152fa7bdb290cd7cd5912d9467273b6d74e21b8d81aca1f8533f6b"
 dependencies = [
  "typenum",
 ]
@@ -620,7 +620,7 @@
 
 [[package]]
 name = "just"
-version = "1.57.0"
+version = "1.58.0"
 dependencies = [
  "blake3",
  "camino",
@@ -662,15 +662,15 @@
 
 [[package]]
 name = "libc"
-version = "0.2.186"
+version = "0.2.189"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
+checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
 
 [[package]]
 name = "libredox"
-version = "0.1.18"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652"
+checksum = "2026a5056764a10b2bf5d56488cba40da507f5493a6a429340e2004d9ed085fa"
 dependencies = [
  "libc",
 ]
@@ -1017,14 +1017,14 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 3.0.0",
+ "syn 3.0.3",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.150"
+version = "1.0.151"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
+checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
 dependencies = [
  "itoa",
  "memchr",
@@ -1090,18 +1090,18 @@
 
 [[package]]
 name = "snafu"
-version = "0.9.1"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d1a012328be2e3f5d5f6f3218147ca02588cea4cb865e876849ab6debcf36522"
+checksum = "e45cb604038abb7b926b679887b3226d8d0f23874b66623625a0454be425a4b7"
 dependencies = [
  "snafu-derive",
 ]
 
 [[package]]
 name = "snafu-derive"
-version = "0.9.1"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5f103c50866b8743da9429b8a581d81a27c2d3a9c4ac7df8f8571c1dd7896eda"
+checksum = "287f59010008f0d7cf5e3b03196d666c1acc46c8d3e9cf34c28a1a7157601e72"
 dependencies = [
  "heck",
  "proc-macro2",
@@ -1149,9 +1149,9 @@
 
 [[package]]
 name = "syn"
-version = "3.0.0"
+version = "3.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f2fac314a64dc9a36e61a9eb4261a5e9bbfbc922b27e518af97bc32b926cf967"
+checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1221,7 +1221,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 3.0.0",
+ "syn 3.0.3",
 ]
 
 [[package]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/Cargo.toml new/just-1.58.0/Cargo.toml
--- old/just-1.57.0/Cargo.toml  2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/Cargo.toml  2026-08-03 22:28:37.000000000 +0200
@@ -1,6 +1,6 @@
 [package]
 name = "just"
-version = "1.57.0"
+version = "1.58.0"
 authors = ["Casey Rodarmor <[email protected]>"]
 autotests = false
 categories = ["command-line-utilities", "development-tools"]
@@ -22,7 +22,7 @@
 camino = "1.0.4"
 chrono = "0.4.38"
 clap = { version = "4.0.0", features = ["derive", "env", "wrap_help"] }
-clap_complete = { version = "=4.6.7", features = ["unstable-dynamic"] }
+clap_complete = { version = "=4.6.8", features = ["unstable-dynamic"] }
 clap_mangen = "0.3.0"
 digest-io = "0.1.0"
 dirs = "6.0.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/README.md new/just-1.58.0/README.md
--- old/just-1.57.0/README.md   2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/README.md   2026-08-03 22:28:37.000000000 +0200
@@ -3415,6 +3415,9 @@
 /subdir
 ```
 
+Note that this does not affect dotenv file search, or the working directory of
+backtick and `shell()` invocations.
+
 Use `set no-cd`<sup>1.51.0</sup> to make all recipes in the current module
 default to the same behavior.
 
@@ -3512,6 +3515,9 @@
 `[no-cd]` prevents `just` from changing the current directory when executing
 `commit`.
 
+Note that this does not affect dotenv file search, or the working directory of
+backtick and `shell()` invocations.
+
 Organization
 ------------
 
@@ -4278,6 +4284,35 @@
 [`chrono` library 
docs](https://docs.rs/chrono/latest/chrono/format/strftime/index.html)
 for details.
 
+The `[timestamp]` attribute<sup>1.58.0</sup> can be used to enable timestamps
+for a specific recipe:
+
+```just
+[timestamp]
+foo:
+  echo hello
+```
+
+```
+$ just foo
+[07:28:46] echo hello
+hello
+```
+
+Which may include a format string:
+
+```just
+[timestamp('%H:%M:%S%.3f')]
+foo:
+  echo hello
+```
+
+```
+$ just foo
+[07:28:46.487] echo hello
+hello
+```
+
 ### Signal Handling
 
 [Signals](https://en.wikipedia.org/wiki/Signal_(IPC)) are messages sent to
@@ -4737,6 +4772,8 @@
 | `[script(COMMAND)]`<sup>1.32.0</sup> | recipe | Execute recipe as a script 
interpreted by `COMMAND`. See [script recipes](#script-recipes) for more 
details. |
 | `[script]`<sup>1.33.0</sup> | recipe | Execute recipe as script. See [script 
recipes](#script-recipes) for more details. |
 | `[shell]`<sup>1.52.0</sup> | recipe | Execute recipe as a shell recipe, 
overriding `set default-script`. |
+| `[timestamp(FORMAT)]`<sup>1.58.0</sup> | recipe | Print command timestamps 
with format `FORMAT`. `FORMAT` may be an expression. |
+| `[timestamp]`<sup>1.58.0</sup> | recipe | Print command timestamps. |
 | `[unix]`<sup>1.8.0</sup> | any<sup>1.56.0</sup> | Enable item on unixes. 
(Includes macOS). |
 | `[windows]`<sup>1.8.0</sup> | any<sup>1.56.0</sup> | Enable item on Windows. 
|
 | `[working-directory(PATH)]`<sup>1.38.0</sup> | recipe | Set recipe working 
directory. `PATH` may be an expression<sup>1.51.0</sup> whose value is relative 
or absolute. If relative, it is interpreted relative to the default working 
directory. |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/justfile new/just-1.58.0/justfile
--- old/just-1.57.0/justfile    2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/justfile    2026-08-03 22:28:37.000000000 +0200
@@ -30,7 +30,7 @@
 
 # only run tests matching `PATTERN`
 [group: 'test']
-filter PATTERN: (watch f'ltest --tests --all --all-targets {{PATTERN}}')
+filter PATTERN: (watch f'ltest --tests --all --all-targets {{ PATTERN }}')
 
 [group: 'misc']
 build:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/src/arguments.rs 
new/just-1.58.0/src/arguments.rs
--- old/just-1.57.0/src/arguments.rs    2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/src/arguments.rs    2026-08-03 22:28:37.000000000 +0200
@@ -208,8 +208,10 @@
   pub(crate) justfile: Option<PathBuf>,
   #[arg(
     env = "JUST_JUSTFILE_NAME",
-    help = "Search for justfile named <NAME>",
+    help = "Search for justfile named <NAME>, accepts multiple `,`-separated 
values and may be \
+            repeated",
     long = "justfile-name",
+    value_delimiter = ',',
     value_name = "NAME"
   )]
   pub(crate) justfile_names: Option<Vec<String>>,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/src/attribute.rs 
new/just-1.58.0/src/attribute.rs
--- old/just-1.57.0/src/attribute.rs    2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/src/attribute.rs    2026-08-03 22:28:37.000000000 +0200
@@ -65,6 +65,7 @@
   Private,
   Script(Option<Interpreter<StringLiteral<'src>>>),
   Shell,
+  Timestamp(Option<Expression<'src>>),
   Unix,
   Windows,
   WorkingDirectory(Expression<'src>),
@@ -74,7 +75,7 @@
   fn accepts_expressions(self) -> bool {
     matches!(
       self,
-      Self::Confirm | Self::Doc | Self::Env | Self::WorkingDirectory
+      Self::Confirm | Self::Doc | Self::Env | Self::Timestamp | 
Self::WorkingDirectory
     )
   }
 
@@ -118,7 +119,7 @@
       | Self::Shell
       | Self::Unix
       | Self::Windows => 0..=0,
-      Self::Confirm | Self::Doc => 0..=1,
+      Self::Confirm | Self::Doc | Self::Timestamp => 0..=1,
       Self::Continue | Self::Script => 0..=usize::MAX,
       Self::Arg | Self::Extension | Self::Group | Self::WorkingDirectory => 
1..=1,
       Self::Env => 2..=2,
@@ -201,6 +202,9 @@
           let (_, value) = arguments.next().unwrap();
           Ok(Self::Env(key, value))
         }
+        AttributeKind::Timestamp => Ok(Self::Timestamp(
+          arguments.into_iter().next().map(|(_, expr)| expr),
+        )),
         AttributeKind::WorkingDirectory => Ok(Self::WorkingDirectory(
           arguments.into_iter().next().map(|(_, expr)| expr).unwrap(),
         )),
@@ -246,6 +250,7 @@
       AttributeKind::Confirm
       | AttributeKind::Doc
       | AttributeKind::Env
+      | AttributeKind::Timestamp
       | AttributeKind::WorkingDirectory => {
         unreachable!()
       }
@@ -593,6 +598,7 @@
       | Self::Private
       | Self::Script(None)
       | Self::Shell
+      | Self::Timestamp(None)
       | Self::Unix
       | Self::Windows => {}
       Self::Cache {
@@ -616,6 +622,7 @@
       }
       Self::Confirm(Some(argument))
       | Self::Doc(Some(argument))
+      | Self::Timestamp(Some(argument))
       | Self::WorkingDirectory(argument) => {
         write!(f, "({argument})")?;
       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/src/config.rs 
new/just-1.58.0/src/config.rs
--- old/just-1.57.0/src/config.rs       2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/src/config.rs       2026-08-03 22:28:37.000000000 +0200
@@ -149,15 +149,6 @@
     }
   }
 
-  pub(crate) fn timestamp(&self) -> RunResult<'static, Option<String>> {
-    self
-      .timestamp
-      .then(|| {
-        datetime_format(chrono::Local::now(), 
&self.timestamp_format).map_err(Error::DatetimeFormat)
-      })
-      .transpose()
-  }
-
   fn parse_override(path: &str) -> ConfigResult<(Modulepath, String)> {
     let mut path = Modulepath::try_from([path].as_slice())
       .map_err(|()| ConfigError::OverridePath { path: path.into() })?;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/src/expression.rs 
new/just-1.58.0/src/expression.rs
--- old/just-1.57.0/src/expression.rs   2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/src/expression.rs   2026-08-03 22:28:37.000000000 +0200
@@ -202,7 +202,7 @@
         write!(f, "{start}")?;
 
         for (expression, string) in expressions {
-          write!(f, "{expression}{string}")?;
+          write!(f, " {expression} {string}")?;
         }
 
         Ok(())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/src/lib.rs new/just-1.58.0/src/lib.rs
--- old/just-1.57.0/src/lib.rs  2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/src/lib.rs  2026-08-03 22:28:37.000000000 +0200
@@ -1,8 +1,11 @@
-//! `just` is primarily used as a command-line binary, but does provide a
-//! limited public library interface.
+//! `just` is a handy way to save and run project-specific commands, and is
+//! primarily used as a command-line binary.
 //!
-//! Please keep in mind that there are no semantic version guarantees for the
-//! library interface. It may break or change at any time.
+//! See [GitHub](https://github.com/casey/just/) for more information.
+//!
+//! A limited public library interface is available. Please keep in mind that
+//! there are no semantic version guarantees for the library interface. It may
+//! break or change at any time.
 
 pub(crate) use {
   crate::{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/src/recipe.rs 
new/just-1.58.0/src/recipe.rs
--- old/just-1.57.0/src/recipe.rs       2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/src/recipe.rs       2026-08-03 22:28:37.000000000 +0200
@@ -201,6 +201,34 @@
     self.attributes.contains(AttributeKind::NoQuiet)
   }
 
+  fn timestamp_format(
+    &self,
+    config: &Config,
+    evaluator: &mut Evaluator<'src, '_>,
+  ) -> RunResult<'src, Option<String>> {
+    if let Some(attribute) = self.attributes.get(AttributeKind::Timestamp) {
+      let Attribute::Timestamp(format) = attribute else {
+        unreachable!();
+      };
+      Ok(Some(
+        format
+          .as_ref()
+          .map(|expression| {
+            evaluator.evaluate_string(
+              expression,
+              
StringContext::TimestampAttribute(self.attributes.name(attribute)),
+            )
+          })
+          .transpose()?
+          .unwrap_or_else(|| config.timestamp_format.clone()),
+      ))
+    } else if config.timestamp {
+      Ok(Some(config.timestamp_format.clone()))
+    } else {
+      Ok(None)
+    }
+  }
+
   pub(crate) fn run<'run>(
     &self,
     context: &ExecutionContext<'src, 'run>,
@@ -277,6 +305,8 @@
 
     let working_directory = self.working_directory(context, &mut evaluator)?;
 
+    let timestamp_format = self.timestamp_format(config, &mut evaluator)?;
+
     loop {
       let Some(line) = lines.peek() else {
         return Ok(());
@@ -321,9 +351,14 @@
       let infallible = sigils.contains(&Sigil::Infallible);
       let quiet = sigils.contains(&Sigil::Quiet);
 
+      let timestamp = timestamp_format
+        .as_deref()
+        .map(|format| datetime_format(chrono::Local::now(), 
format).map_err(Error::DatetimeFormat))
+        .transpose()?;
+
       if config.dry_run
         || config.verbosity.loquacious()
-        || config.timestamp
+        || timestamp.is_some()
         || !((quiet ^ self.quiet)
           || (settings.quiet && !self.no_quiet())
           || config.verbosity.quiet())
@@ -335,7 +370,7 @@
         }
         .stderr();
 
-        if let Some(timestamp) = config.timestamp()? {
+        if let Some(timestamp) = timestamp {
           eprint!("[{}] ", color.paint(&timestamp));
         }
 
@@ -437,7 +472,10 @@
   ) -> RunResult<'src> {
     let config = &context.config;
 
-    if let Some(timestamp) = config.timestamp()? {
+    if let Some(format) = self.timestamp_format(config, &mut evaluator)? {
+      let timestamp =
+        datetime_format(chrono::Local::now(), 
&format).map_err(Error::DatetimeFormat)?;
+
       let color = if config.highlight {
         config.color.command(config.command_color)
       } else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/src/string_context.rs 
new/just-1.58.0/src/string_context.rs
--- old/just-1.57.0/src/string_context.rs       2026-07-19 03:56:15.000000000 
+0200
+++ new/just-1.58.0/src/string_context.rs       2026-08-03 22:28:37.000000000 
+0200
@@ -5,6 +5,7 @@
   EnvKey(Name<'src>),
   Function(Name<'src>),
   Setting(Name<'src>),
+  TimestampAttribute(Name<'src>),
   WorkingDirectoryAttribute(Name<'src>),
 }
 
@@ -14,6 +15,7 @@
       Self::EnvKey(name)
       | Self::Function(name)
       | Self::Setting(name)
+      | Self::TimestampAttribute(name)
       | Self::WorkingDirectoryAttribute(name) => name.token,
     }
   }
@@ -25,6 +27,9 @@
       Self::EnvKey(_) => write!(f, "used as `env` attribute name"),
       Self::Function(name) => write!(f, "passed to `{name}()`"),
       Self::Setting(name) => write!(f, "assigned to `{name}` setting"),
+      Self::TimestampAttribute(_) => {
+        write!(f, "used as a `[timestamp]` attribute")
+      }
       Self::WorkingDirectoryAttribute(_) => {
         write!(f, "used as a `[working-directory]` attribute")
       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/src/unresolved_recipe.rs 
new/just-1.58.0/src/unresolved_recipe.rs
--- old/just-1.57.0/src/unresolved_recipe.rs    2026-07-19 03:56:15.000000000 
+0200
+++ new/just-1.58.0/src/unresolved_recipe.rs    2026-08-03 22:28:37.000000000 
+0200
@@ -97,7 +97,9 @@
               )?;
             }
           }
-          Attribute::Confirm(Some(expression)) | 
Attribute::WorkingDirectory(expression) => {
+          Attribute::Confirm(Some(expression))
+          | Attribute::Timestamp(Some(expression))
+          | Attribute::WorkingDirectory(expression) => {
             variable_resolver.resolve_expression(
               expression,
               &parameters,
@@ -134,6 +136,7 @@
           | Attribute::Private
           | Attribute::Script(_)
           | Attribute::Shell
+          | Attribute::Timestamp(None)
           | Attribute::Unix
           | Attribute::Windows => {}
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/tests/format_string.rs 
new/just-1.58.0/tests/format_string.rs
--- old/just-1.57.0/tests/format_string.rs      2026-07-19 03:56:15.000000000 
+0200
+++ new/just-1.58.0/tests/format_string.rs      2026-08-03 22:28:37.000000000 
+0200
@@ -254,9 +254,18 @@
   case("f''''''");
   case(r#"f"""#);
   case(r#"f"""""""#);
-  case("f'{{'a'}}b{{'c'}}d'");
-  case("f'''{{'a'}}b{{'c'}}d'''");
-  case(r#"f"""{{'a'}}b{{'c'}}d""""#);
+  case("f'{{ 'a' }}b{{ 'c' }}d'");
+  case("f'''{{ 'a' }}b{{ 'c' }}d'''");
+  case(r#"f"""{{ 'a' }}b{{ 'c' }}d""""#);
+}
+
+#[test]
+fn interpolation_expressions_are_formatted_with_spaces() {
+  Test::new()
+    .justfile("foo := f'{{'a'}}'")
+    .arg("--dump")
+    .stdout("foo := f'{{ 'a' }}'\n")
+    .success();
 }
 
 #[test]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/tests/search.rs 
new/just-1.58.0/tests/search.rs
--- old/just-1.57.0/tests/search.rs     2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/tests/search.rs     2026-08-03 22:28:37.000000000 +0200
@@ -240,6 +240,38 @@
 }
 
 #[test]
+fn justfile_name_may_be_repeated() {
+  Test::new()
+    .write(
+      "bar",
+      "
+        default:
+        \techo ok
+      ",
+    )
+    .args(["--justfile-name", "foo", "--justfile-name", "bar"])
+    .stderr("echo ok\n")
+    .stdout("ok\n")
+    .success();
+}
+
+#[test]
+fn justfile_name_accepts_comma_separated_values() {
+  Test::new()
+    .write(
+      "bar",
+      "
+        default:
+        \techo ok
+      ",
+    )
+    .args(["--justfile-name", "foo,bar"])
+    .stderr("echo ok\n")
+    .stdout("ok\n")
+    .success();
+}
+
+#[test]
 fn justfile_symlink_parent() {
   Test::new()
     .write(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/just-1.57.0/tests/timestamps.rs 
new/just-1.58.0/tests/timestamps.rs
--- old/just-1.57.0/tests/timestamps.rs 2026-07-19 03:56:15.000000000 +0200
+++ new/just-1.58.0/tests/timestamps.rs 2026-08-03 22:28:37.000000000 +0200
@@ -48,6 +48,69 @@
 }
 
 #[test]
+fn attribute() {
+  Test::new()
+    .justfile(
+      "
+        [timestamp]
+        recipe:
+          echo foo
+      ",
+    )
+    .stderr_regex(concat!(r"\[\d\d:\d\d:\d\d\] echo foo", "\n"))
+    .stdout("foo\n")
+    .success();
+}
+
+#[test]
+fn attribute_format() {
+  Test::new()
+    .justfile(
+      "
+        [timestamp('%H:%M:%S%.3f')]
+        recipe:
+          echo foo
+      ",
+    )
+    .stderr_regex(concat!(r"\[\d\d:\d\d:\d\d\.\d\d\d\] echo foo", "\n"))
+    .stdout("foo\n")
+    .success();
+}
+
+#[test]
+fn attribute_format_expression() {
+  Test::new()
+    .justfile(
+      "
+        format := '%H:%M:%S' + '%.3f'
+
+        [timestamp(format)]
+        recipe:
+          echo foo
+      ",
+    )
+    .stderr_regex(concat!(r"\[\d\d:\d\d:\d\d\.\d\d\d\] echo foo", "\n"))
+    .stdout("foo\n")
+    .success();
+}
+
+#[test]
+fn attribute_script() {
+  Test::new()
+    .justfile(
+      "
+        [timestamp]
+        recipe:
+          #!/bin/sh
+          echo foo
+      ",
+    )
+    .stderr_regex(concat!(r"\[\d\d:\d\d:\d\d\] recipe", "\n"))
+    .stdout("foo\n")
+    .success();
+}
+
+#[test]
 fn format_string() {
   Test::new()
     .justfile(

++++++ just.obsinfo ++++++
--- /var/tmp/diff_new_pack.G8yqv8/_old  2026-08-09 21:44:43.321467186 +0200
+++ /var/tmp/diff_new_pack.G8yqv8/_new  2026-08-09 21:44:43.329467460 +0200
@@ -1,5 +1,5 @@
 name: just
-version: 1.57.0
-mtime: 1784426175
-commit: e01a6bd7e7a30baf86bc86d2b95b0998ebbdc36f
+version: 1.58.0
+mtime: 1785788917
+commit: 7f4ef81bd6a93faa2b28430912c8e9ab0e3dd29a
 

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/just/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.just.new.16738/vendor.tar.zst differ: char 7, line 1

Reply via email to