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