diff --git a/Cargo.lock b/Cargo.lock
index 94bda304af..f872b98284 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -249,7 +249,7 @@ dependencies = [
 
 [[package]]
 name = "deno"
-version = "0.28.0"
+version = "0.28.1"
 dependencies = [
  "downcast-rs 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -264,7 +264,7 @@ dependencies = [
 
 [[package]]
 name = "deno_cli"
-version = "0.28.0"
+version = "0.28.1"
 dependencies = [
  "ansi_term 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -272,8 +272,8 @@ dependencies = [
  "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "deno 0.28.0",
- "deno_typescript 0.28.0",
+ "deno 0.28.1",
+ "deno_typescript 0.28.1",
  "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "dlopen 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -312,9 +312,9 @@ dependencies = [
 
 [[package]]
 name = "deno_typescript"
-version = "0.28.0"
+version = "0.28.1"
 dependencies = [
- "deno 0.28.0",
+ "deno 0.28.1",
  "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -1536,8 +1536,8 @@ dependencies = [
 name = "test_plugin"
 version = "0.0.1"
 dependencies = [
- "deno 0.28.0",
- "deno_cli 0.28.0",
+ "deno 0.28.1",
+ "deno_cli 0.28.1",
  "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
diff --git a/Releases.md b/Releases.md
index 77242cda43..59c3e53b83 100644
--- a/Releases.md
+++ b/Releases.md
@@ -6,6 +6,11 @@ https://github.com/denoland/deno/releases
 We also have one-line install commands at
 https://github.com/denoland/deno_install
 
+### v0.28.1 / 2020.01.03
+
+- feat(http): make req.body a Reader (#3575)
+- fix: dynamically linking to OpenSSL (#3586)
+
 ### v0.28.0 / 2020.01.02
 
 - feat: Add Deno.dir("executable") (#3526)
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index 14731e0a01..23f751fe46 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -2,7 +2,7 @@
 
 [package]
 name = "deno_cli"
-version = "0.28.0"
+version = "0.28.1"
 license = "MIT"
 authors = ["the Deno authors"]
 edition = "2018"
@@ -19,11 +19,11 @@ name = "deno"
 path = "main.rs"
 
 [build-dependencies]
-deno_typescript = { path = "../deno_typescript", version = "0.28.0" }
+deno_typescript = { path = "../deno_typescript", version = "0.28.1" }
 
 [dependencies]
-deno = { path = "../core", version = "0.28.0" }
-deno_typescript = { path = "../deno_typescript", version = "0.28.0" }
+deno = { path = "../core", version = "0.28.1" }
+deno_typescript = { path = "../deno_typescript", version = "0.28.1" }
 
 ansi_term = "0.12.1"
 atty = "0.2.13"
diff --git a/core/Cargo.toml b/core/Cargo.toml
index 269024ba83..e08e6bc746 100644
--- a/core/Cargo.toml
+++ b/core/Cargo.toml
@@ -2,7 +2,7 @@
 
 [package]
 name = "deno"
-version = "0.28.0"
+version = "0.28.1"
 edition = "2018"
 description = "A secure JavaScript/TypeScript runtime built with V8, Rust, and Tokio"
 authors = ["the Deno authors"]
diff --git a/deno_typescript/Cargo.toml b/deno_typescript/Cargo.toml
index 23dbeb2fc7..c85445b1f1 100644
--- a/deno_typescript/Cargo.toml
+++ b/deno_typescript/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "deno_typescript"
-version = "0.28.0"
+version = "0.28.1"
 license = "MIT"
 description = "To compile TypeScript to a snapshot during build.rs"
 repository = "https://github.com/denoland/deno"
@@ -19,6 +19,6 @@ exclude = [
 path = "lib.rs"
 
 [dependencies]
-deno = { path = "../core", version = "0.28.0" }
+deno = { path = "../core", version = "0.28.1" }
 serde_json = "1.0.41"
 serde = { version = "1.0.102", features = ["derive"] }