self_update icon indicating copy to clipboard operation
self_update copied to clipboard

Change `reqwest` dependency against `ureq`

Open Kijewski opened this issue 9 months ago • 3 comments

This PR removes reqwest, and its transitive dependencies like tokio, and uses ureq instead. The latter library uses curl as HTTP client. libcurl should be installed by default on all current Windows and MacOS installations, and most likely by all serious Linux distros, too.

libcurl is only loaded at runtime instead of being a hard dependecy. This way, if libcurl is not installed, the program will still run just fine, but the self update will fail.

This changes makes the github example much smaller:

1808048 github.master
1127536 github.patch
-680512 bytes or -38%
$ size github.master github.patch
   text    data  bss      dec  filename
1738914   52288  529  1791731  github.master
1078768   31784  465  1111017  github.patch
-660146  -20504  -64  -680714

Kijewski avatar Sep 18 '23 04:09 Kijewski