#update #upgrade #download #release


Utility to implement self-updating standalone executables

2 unstable releases

0.2.0 Nov 21, 2022
0.1.0 Nov 17, 2022

#1686 in Command line utilities

MIT license

76 lines

crates.io:clin docs

Update Me: self updating Rust executables

update_me provides functionality to implement a self-updating Rust executable.

The executable can update itself by replacing the current executing file with a newer version.

This library only implements the updating mechanism itself, thereby providing full flexibility to implement different release distribution backends.

Example of updating from a file:

use update_me;

pub fn update(path: &String) -> Result<()> {
    let mut file = File::open(path)?;
    let mut data: Vec<u8> = Vec::new();
    file.read_to_end(&mut data)?;
    update_me::apply(&mut data)?;

See also

  • self_update: provides updaters for updating rust executables in-place from various release distribution backends.


~84K SLoC