Skip to content

v0.3.0 (2024-03-24)

Compare
Choose a tag to compare
@github-actions github-actions released this 24 Mar 14:53
· 224 commits to main since this release

Release Notes

New Features

  • Now user-defined struct can be used as an argument of #[savvy]-ed functions.
    It must be specified as &Ty or &mut Ty, not Ty.

Example:

struct Person {
    pub name: String,
}

#[savvy]
impl Person {
    fn get_name(&self) -> savvy::Result<savvy::Sexp> {
        let name = self.name.as_str();
        name.try_into()
    }
}

#[savvy]
fn get_name_external(x: &Person) -> savvy::Result<savvy::Sexp> {
    x.get_name()
}

Fixed bugs

  • Previously, savvy-cli init and savvy-cli update didn't handle the package
    name properly ("packageName" vs "package_name"). Now it's fixed.

Breaking changes

  • While this is described in the New Features section, it was already allowed to
    specify user-defined structs as argument if the user defines the necessary
    TryFrom implementations propoerly. At that time, specifying it without &
    was possible, but now it's not allowed. Anyway, as this was undocumented and
    expert-only usage, I expect no one notices this breaking change.

Download savvy-cli 0.3.0

File Platform Checksum
savvy-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
savvy-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
savvy-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
savvy-cli-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
savvy-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum