diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index aaf2157661..4358800129 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41,6 +41,7 @@
 ;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
 ;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
 ;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
+;;; Copyright © 2024 Aaron Covrig <aaron.covrig.us@ieee.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -44046,71 +44047,98 @@ (define-public rust-ord-subset-3
 PartialOrd types, like floats.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-ordered-float-3
+(define-public rust-ordered-float-4
   (package
     (name "rust-ordered-float")
-    (version "3.4.0")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "ordered-float" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1gr31ksgbqariv6hz3s5bc15a5vh4k65dyn8m7j59lhnji0b2knq"))))
+    (version "4.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ordered-float" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0kjqcvvbcsibbx3hnj7ag06bd9gv2zfi5ja6rgyh2kbxbh3zfvd7"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
                        ("rust-bytemuck" ,rust-bytemuck-1)
+                       ("rust-borsh" ,rust-borsh-1)
                        ("rust-num-traits" ,rust-num-traits-0.2)
                        ("rust-proptest" ,rust-proptest-1)
                        ("rust-rand" ,rust-rand-0.8)
                        ("rust-rkyv" ,rust-rkyv-0.7)
                        ("rust-schemars" ,rust-schemars-0.8)
                        ("rust-serde" ,rust-serde-1)
-                       ("rust-speedy" ,rust-speedy-0.8))))
+                       ("rust-speedy" ,rust-speedy-0.8))
+       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))
     (home-page "https://github.com/reem/rust-ordered-float")
     (synopsis "Wrappers for total ordering on floats")
     (description
      "This package provides wrappers for total ordering on floats in Rust.")
     (license license:expat)))
 
+(define-public rust-ordered-float-3
+  (package
+    (inherit rust-ordered-float-4)
+    (name "rust-ordered-float")
+    (version "3.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ordered-float" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1p3jkxlz89ndm4lmwr2n5kdnckhm5pcmqqkihkag259dff8c7qgi"))))
+    (arguments
+     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
+                       ("rust-bytemuck" ,rust-bytemuck-1)
+                       ("rust-num-traits" ,rust-num-traits-0.2)
+                       ("rust-proptest" ,rust-proptest-1)
+                       ("rust-rand" ,rust-rand-0.8)
+                       ("rust-rkyv" ,rust-rkyv-0.7)
+                       ("rust-schemars" ,rust-schemars-0.8)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-speedy" ,rust-speedy-0.8))
+       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))))
+
 (define-public rust-ordered-float-2
   (package
     (inherit rust-ordered-float-3)
     (name "rust-ordered-float")
-    (version "2.1.1")
+    (version "2.10.1")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ordered-float" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "0632g8bacvras6nig1bb1ihgc560476jkrb3is6n542ll86q8vvn"))))
+        (base32 "075i108hr95pr7hy4fgxivib5pky3b6b22rywya5qyd2wmkrvwb8"))))
     (arguments
-     `(#:skip-build?
-       #t
-       #:cargo-inputs
-       (("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-serde" ,rust-serde-1))
-       #:cargo-development-inputs
-       (("rust-serde-test" ,rust-serde-test-1))))))
+     `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
+                       ("rust-num-traits" ,rust-num-traits-0.2)
+                       ("rust-proptest" ,rust-proptest-1)
+                       ("rust-rand" ,rust-rand-0.8)
+                       ("rust-rkyv" ,rust-rkyv-0.7)
+                       ("rust-schemars" ,rust-schemars-0.6)
+                       ("rust-serde" ,rust-serde-1))
+       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))))
 
 (define-public rust-ordered-float-1
   (package
     (inherit rust-ordered-float-2)
     (name "rust-ordered-float")
-    (version "1.0.2")
+    (version "1.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ordered-float" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "0625x96987kspdxbikry5mb7hsf5pdc5bbanxd8wjwqlx0ar71hq"))))))
+        (base32 "1drp3v9jsm1mn0wqp4p5y19j3bmz3w5rw4yxzi39zlld4wssy19k"))))
+    (arguments
+     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2)
+                       ("rust-serde" ,rust-serde-1))
+       #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1))))))
 
 (define-public rust-ordered-multimap-0.3
   (package
@@ -58592,67 +58620,113 @@ (define-public rust-scheduled-thread-pool-0.2
 (define-public rust-schemars-0.8
   (package
     (name "rust-schemars")
-    (version "0.8.8")
+    (version "0.8.16")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "schemars" version))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32 "1qvhq1yixygd8ihc0qxmnhw4x08fa44q88v088gvc6pa1k4a7df6"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "schemars" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0aadpjkaq7yl11b02pg4mwanylck328zg0q7w56dv6j89568z8j5"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:cargo-inputs
-        (("rust-arrayvec" ,rust-arrayvec-0.5)
-         ("rust-bigdecimal" ,rust-bigdecimal-0.3)
-         ("rust-bytes" ,rust-bytes-1)
-         ("rust-chrono" ,rust-chrono-0.4)
-         ("rust-dyn-clone" ,rust-dyn-clone-1)
-         ("rust-either" ,rust-either-1)
-         ("rust-enumset" ,rust-enumset-1)
-         ("rust-indexmap" ,rust-indexmap-1)
-         ("rust-rust-decimal" ,rust-rust-decimal-1)
-         ("rust-schemars-derive" ,rust-schemars-derive-0.8)
-         ("rust-serde" ,rust-serde-1)
-         ("rust-serde-json" ,rust-serde-json-1)
-         ("rust-smallvec" ,rust-smallvec-1)
-         ("rust-url" ,rust-url-2)
-         ("rust-uuid" ,rust-uuid-0.8))
-        #:cargo-development-inputs
-        (("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
-         ("rust-trybuild" ,rust-trybuild-1))))
+     `(#:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.5)
+                       ("rust-arrayvec" ,rust-arrayvec-0.7)
+                       ("rust-bigdecimal" ,rust-bigdecimal-0.3)
+                       ("rust-bigdecimal" ,rust-bigdecimal-0.4)
+                       ("rust-bytes" ,rust-bytes-1)
+                       ("rust-chrono" ,rust-chrono-0.4)
+                       ("rust-dyn-clone" ,rust-dyn-clone-1)
+                       ("rust-either" ,rust-either-1)
+                       ("rust-enumset" ,rust-enumset-1)
+                       ("rust-indexmap" ,rust-indexmap-2)
+                       ("rust-rust-decimal" ,rust-rust-decimal-1)
+                       ("rust-schemars-derive" ,rust-schemars-derive-0.8)
+                       ("rust-semver" ,rust-semver-1)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-json" ,rust-serde-json-1)
+                       ("rust-smallvec" ,rust-smallvec-1)
+                       ("rust-smol-str" ,rust-smol-str-0.1)
+                       ("rust-url" ,rust-url-2)
+                       ("rust-uuid" ,rust-uuid-0.8)
+                       ("rust-uuid" ,rust-uuid-1))
+       #:cargo-development-inputs (("rust-pretty-assertions" ,rust-pretty-assertions-1)
+                                   ("rust-trybuild" ,rust-trybuild-1))))
     (home-page "https://graham.cool/schemars/")
     (synopsis "Generate JSON Schemas from Rust code")
     (description "This Rust library can help generating JSON Schemas from
 Rust code.")
     (license license:expat)))
 
+(define-public rust-schemars-0.6
+  (package
+    (inherit rust-schemars-0.8)
+    (name "rust-schemars")
+    (version "0.6.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "schemars" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1v6acgxkbhaw7fzg4mp09jv231f0mr224my629435wxasrrrfmh7"))))
+    (arguments
+     `(#:cargo-test-flags '("--" "--skip=doc_comments_struct")
+       #:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.5)
+                       ("rust-chrono" ,rust-chrono-0.4)
+                       ("rust-either" ,rust-either-1)
+                       ("rust-indexmap" ,rust-indexmap-1)
+                       ("rust-schemars-derive" ,rust-schemars-derive-0.6)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-json" ,rust-serde-json-1)
+                       ("rust-smallvec" ,rust-smallvec-1)
+                       ("rust-uuid" ,rust-uuid-0.8))
+       #:cargo-development-inputs (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))))
+
 (define-public rust-schemars-derive-0.8
   (package
     (name "rust-schemars-derive")
-    (version "0.8.8")
+    (version "0.8.16")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "schemars_derive" version))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32 "16xfvm16d8nsxdx82fdcyqfi12v61lffyf1wmi34qqg82g74vbj1"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "schemars_derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0rq9sdcf5hyvsyj9v9nfy2jgjbjzaldjq4i6y2fcz72xlrpzsry7"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1)
-         ("rust-quote" ,rust-quote-1)
-         ("rust-serde-derive-internals" ,rust-serde-derive-internals-0.25)
-         ("rust-syn" ,rust-syn-1))
-        #:cargo-development-inputs
-        (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
+     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
+                       ("rust-quote" ,rust-quote-1)
+                       ("rust-serde-derive-internals" ,rust-serde-derive-internals-0.26)
+                       ("rust-syn" ,rust-syn-1))
+       #:cargo-development-inputs (("rust-pretty-assertions" ,rust-pretty-assertions-1))))
     (home-page "https://graham.cool/schemars/")
     (synopsis "Macros for @code{#[derive(JsonSchema)]}, for use with schemars")
-    (description "This package provides macros for @code{#[derive(JsonSchema)]},
+    (description
+     "This package provides macros for @code{#[derive(JsonSchema)]},
 for use with schemars.")
     (license license:expat)))
 
+(define-public rust-schemars-derive-0.6
+  (package
+    (inherit rust-schemars-derive-0.8)
+    (name "rust-schemars-derive")
+    (version "0.6.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "schemars_derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1a9h8bqqqd0i6605gyhz2jw2hi1wq1vfi262qrflkn3pyk75wlrq"))))
+    (arguments
+     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)
+                       ("rust-quote" ,rust-quote-1)
+                       ("rust-serde-derive-internals" ,rust-serde-derive-internals-0.25)
+                       ("rust-syn" ,rust-syn-1))
+       #:cargo-development-inputs (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))))
+
 (define-public rust-scoped-threadpool-0.1
   (package
     (name "rust-scoped-threadpool")
