diff --git a/CHANGELOG b/CHANGELOG
index 147ea12..496a62b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,11 @@
+Changes in v0.8.1:
+ * \[Feature\] Custom build manifest overriding
+ * \[Feature\] Service Event Handlers
+ * \[Feature\] Initial SELinux support -- SELinux Policy for Airup
+ * \[Developer\] Allow getting `build_manifest.json` from C SDK
+ * \[Fix\] Corrupt implementation of `line_piper`
+ * \[Performance\] Remove double-register of `info.*` APIs
+
 Changes in v0.8.0:
  * \[Feature\] Support of resource limitation (currently cgroup is supported on Linux)
  * \[Performance\] Switch to single-threaded async runtime to decrease CPU and memory usage
diff --git a/README.md b/README.md
index 6b68137..ac50f70 100644
--- a/README.md
+++ b/README.md
@@ -8,8 +8,8 @@ supervisor or the `init` daemon (`pid == 1`).
 
 ## Project Status
 Maintained Versions:
- - Current Mainline Version: `0.8.0`
- - Current Release Version: `0.8.0`
+ - Current Mainline Version: `0.8.1`
+ - Current Release Version: `0.8.1`
 
 ⚠️ **WARNING**: The project is not widely tested yet and should **NOT** be used in production environments. It may contain
 errors, bugs or quality issues. Welcome to open an issue to report bugs.
diff --git a/airup-sdk/Cargo.toml b/airup-sdk/Cargo.toml
index 5059ec3..b43349d 100644
--- a/airup-sdk/Cargo.toml
+++ b/airup-sdk/Cargo.toml
@@ -4,7 +4,7 @@ authors = ["sisungo <sisungo@icloud.com>"]
 description = "SDK library of Airup"
 documentation = "https://docs.rs/airup-sdk"
 repository = "https://github.com/sisungo/airup"
-version = "0.8.0"
+version = "0.8.1"
 edition = "2021"
 license = "MIT"
 
diff --git a/airup-sdk/src/debug.rs b/airup-sdk/src/debug.rs
index 8607ce3..d58951e 100644
--- a/airup-sdk/src/debug.rs
+++ b/airup-sdk/src/debug.rs
@@ -1,3 +1,4 @@
+/// An extension trait to provide `debug.*` API invocation.
 pub trait ConnectionExt<'a>: crate::Connection {
     fn is_forking_supervisable(&'a mut self) -> Self::Invoke<'a, bool> {
         self.invoke("debug.is_forking_supervisable", ())
diff --git a/airup-sdk/src/info.rs b/airup-sdk/src/info.rs
index 8a64765..7647663 100644
--- a/airup-sdk/src/info.rs
+++ b/airup-sdk/src/info.rs
@@ -1,5 +1,6 @@
 use crate::build::BuildManifest;
 
+/// An extension trait to provide `info.*` API invocation.
 pub trait ConnectionExt<'a>: crate::Connection {
     fn build_manifest(&'a mut self) -> Self::Invoke<'a, BuildManifest> {
         self.invoke("info.build_manifest", ())
diff --git a/airup-sdk/src/lib.rs b/airup-sdk/src/lib.rs
index 86e775e..e4787c9 100644
--- a/airup-sdk/src/lib.rs
+++ b/airup-sdk/src/lib.rs
@@ -45,11 +45,14 @@ pub fn socket_path() -> &'static Path {
     })
 }
 
+/// A trait that unifies `async` and `non-async` connections.
 pub trait Connection {
+    /// Return type of the [`Connection::invoke`] method.
     type Invoke<'a, T: 'a>
     where
         Self: 'a;
 
+    /// Invokes specified method with given parameters on the connection, then wait for a response.
     fn invoke<'a, P: Serialize + 'a, T: DeserializeOwned + 'a>(
         &'a mut self,
         method: &'a str,
diff --git a/airup-sdk/src/system.rs b/airup-sdk/src/system.rs
index bdf38e2..ff2f8ab 100644
--- a/airup-sdk/src/system.rs
+++ b/airup-sdk/src/system.rs
@@ -87,6 +87,7 @@ pub struct EnteredMilestone {
     pub finish_timestamp: i64,
 }
 
+/// An extension trait to provide `system.*` API invocation.
 pub trait ConnectionExt<'a>: crate::Connection {
     /// Sideloads a service.
     fn sideload_service(
diff --git a/airup/Cargo.toml b/airup/Cargo.toml
index ced5c9d..1cfbce2 100644
--- a/airup/Cargo.toml
+++ b/airup/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "airup"
 authors = ["sisungo <sisungo@icloud.com>"]
-version = "0.8.0"
+version = "0.8.1"
 edition = "2021"
 license = "MIT"
 publish = false
diff --git a/airupd/Cargo.toml b/airupd/Cargo.toml
index cfea206..f7bd900 100644
--- a/airupd/Cargo.toml
+++ b/airupd/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "airupd"
 authors = ["sisungo <sisungo@icloud.com>"]
-version = "0.8.0"
+version = "0.8.1"
 edition = "2021"
 license = "MIT"
 publish = false
diff --git a/airupfx/airupfx-io/Cargo.toml b/airupfx/airupfx-io/Cargo.toml
index 0b767a7..2086899 100644
--- a/airupfx/airupfx-io/Cargo.toml
+++ b/airupfx/airupfx-io/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "airupfx-io"
 authors = ["sisungo <sisungo@icloud.com>"]
-version = "0.7.1"
+version = "0.8.1"
 edition = "2021"
 license = "MIT"
 publish = false
diff --git a/airupfx/airupfx-process/Cargo.toml b/airupfx/airupfx-process/Cargo.toml
index 02fed49..9b1a233 100644
--- a/airupfx/airupfx-process/Cargo.toml
+++ b/airupfx/airupfx-process/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "airupfx-process"
 authors = ["sisungo <sisungo@icloud.com>"]
-version = "0.6.1"
+version = "0.8.1"
 edition = "2021"
 license = "MIT"
 publish = false