diff --git a/Cargo.toml b/Cargo.toml
index ea1472e..af5db9a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "serde_json"
-version = "1.0.39" # remember to update html_root_url
+version = "1.0.40" # remember to update html_root_url
 authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"]
 license = "MIT OR Apache-2.0"
 description = "A JSON serialization file format"
@@ -19,7 +19,7 @@
 serde = "1.0.60"
 indexmap = { version = "1.0", optional = true }
 itoa = "0.4.3"
-ryu = "0.2"
+ryu = "1.0"
 
 [dev-dependencies]
 automod = "0.1"
diff --git a/src/lib.rs b/src/lib.rs
index 955b1e3..fc84646 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -291,7 +291,8 @@
 //! [macro]: https://docs.serde.rs/serde_json/macro.json.html
 //! [`serde-json-core`]: https://japaric.github.io/serde-json-core/serde_json_core/
 
-#![doc(html_root_url = "https://docs.rs/serde_json/1.0.39")]
+#![doc(html_root_url = "https://docs.rs/serde_json/1.0.40")]
+#![allow(unknown_lints, bare_trait_objects, ellipsis_inclusive_range_patterns)]
 #![cfg_attr(feature = "cargo-clippy", allow(renamed_and_removed_lints))]
 #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
 // Ignored clippy lints
@@ -304,6 +305,8 @@
     cast_possible_wrap,
     cast_precision_loss,
     cast_sign_loss,
+    // correctly used
+    integer_division,
     // things are often more readable this way
     cast_lossless,
     module_name_repetitions,
@@ -312,6 +315,7 @@
     use_self,
     zero_prefixed_literal,
     // we support older compilers
+    checked_conversions,
     redundant_field_names,
 ))]
 #![deny(missing_docs)]
diff --git a/src/number.rs b/src/number.rs
index 70a8f6d..fd2707a 100644
--- a/src/number.rs
+++ b/src/number.rs
@@ -237,7 +237,7 @@
                 }
                 #[cfg(feature = "arbitrary_precision")]
                 {
-                    ryu::Buffer::new().format(f).to_owned()
+                    ryu::Buffer::new().format_finite(f).to_owned()
                 }
             };
             Some(Number { n: n })
@@ -473,7 +473,7 @@
             } else if let Some(i) = self.as_i64() {
                 return visitor.visit_i64(i);
             } else if let Some(f) = self.as_f64() {
-                if ryu::Buffer::new().format(f) == self.n || f.to_string() == self.n {
+                if ryu::Buffer::new().format_finite(f) == self.n || f.to_string() == self.n {
                     return visitor.visit_f64(f);
                 }
             }
diff --git a/src/raw.rs b/src/raw.rs
index fe9e246..90ef59b 100644
--- a/src/raw.rs
+++ b/src/raw.rs
@@ -20,6 +20,16 @@
 /// When serializing, a value of this type will retain its original formatting
 /// and will not be minified or pretty-printed.
 ///
+/// # Note
+///
+/// `RawValue` is only available if serde\_json is built with the `"raw_value"`
+/// feature.
+///
+/// ```toml
+/// [dependencies]
+/// serde_json = { version = "1.0", features = ["raw_value"] }
+/// ```
+///
 /// # Example
 ///
 /// ```edition2018
@@ -100,16 +110,6 @@
 ///     raw_value: Box<RawValue>,
 /// }
 /// ```
-///
-/// # Note
-///
-/// `RawValue` is only available if serde\_json is built with the `"raw_value"`
-/// feature.
-///
-/// ```toml
-/// [dependencies]
-/// serde_json = { version = "1.0", features = ["raw_value"] }
-/// ```
 #[repr(C)]
 pub struct RawValue {
     json: str,
diff --git a/src/ser.rs b/src/ser.rs
index 463c15a..cfae381 100644
--- a/src/ser.rs
+++ b/src/ser.rs
@@ -1711,7 +1711,7 @@
         W: io::Write,
     {
         let mut buffer = ryu::Buffer::new();
-        let s = buffer.format(value);
+        let s = buffer.format_finite(value);
         writer.write_all(s.as_bytes())
     }
 
@@ -1722,7 +1722,7 @@
         W: io::Write,
     {
         let mut buffer = ryu::Buffer::new();
-        let s = buffer.format(value);
+        let s = buffer.format_finite(value);
         writer.write_all(s.as_bytes())
     }
 
