Skip to content

Updating Sucrose

Taiizor edited this page Jun 5, 2026 · 2 revisions

Updating Sucrose

Sucrose includes a built-in auto-updater (Sucrose.Update) that checks for, downloads, and installs new versions. Auto-update is on by default, and a silent check runs at launch. You can control where updates come from, how visible the update process is, which channel to follow, how the update is delivered, and how fast it downloads — all from Settings → Other. This page explains those options and how to trigger a manual check. For the step-by-step internals of the updater, see Update Internals; for the settings reference, see Settings Other.

Table of contents


How auto-update works

When the Launcher starts, if Auto Update is on it spawns the updater for a silent check. The updater runs a sequence of gated steps: clear cache → check network → fetch the release list → pick the newest release → compare versions → find the matching installer asset by name → download it → extract/run. Release-list responses are cached for 5 minutes to avoid hammering the server. If a newer version exists, what happens next depends on the visibility mode (below).

The asset the updater looks for follows the same naming pattern as the manual download: Sucrose_Bundle_<Framework>_<Arch>_<Version><Extension>.

The Microsoft Store edition updates through the Store itself — the in-app updater is for the GitHub/website distribution.


Auto-update visibility modes

The Auto update type setting (AutoType, key in Update.json) controls how visible the update is:

Mode Behavior
Visible The update window is shown (the default when the updater is launched with no arguments).
SemiSilent The window stays hidden until an update is found, then it reveals itself.
UpdateSilent Silent variant of the update flow.
CompleteSilent Fully silent: downloads and runs the installer with the /s switch, no UI.

When not Visible, the updater window is collapsed and hidden (no taskbar entry) during the check.


Update source (server)

The Update Server setting (ServerType, default Soferity) chooses where releases are fetched from:

Value Source
GitHub The GitHub Releases list for the Sucrose repository.
Soferity The official website backend (Soferity v8 Kernel/Release API).

Update channel

The Update Channel setting (ChannelType, default Release) chooses which releases are eligible:

Value Behavior
Release Stable releases only — pre-releases are skipped.
PreRelease Allows pre-release builds.

Delivery module and extension

Two settings control how the update is downloaded and applied:

  • Update Module (ModuleType, default Downloader):

    Value Behavior
    Native Built-in HttpClient streaming download (honors the speed limit).
    Downloader Uses the Downloader library for the download.
  • Update Extension (ExtensionType, default Executable):

    Value Behavior
    Compressed Downloads a .7z archive, then extracts it and runs the extracted installer.
    Executable Downloads the .exe installer directly and runs it.

When the visibility mode is CompleteSilent, the installer is run with /s.


Download speed limit

The Update download limit is a value + unit pair (LimitValue / LimitType), default 500 Megabyte. The value ranges 099999999; the unit must be Megabyte or larger. Both the Native and Downloader modules honor this maximum bytes-per-second cap.


Triggering a manual update

You can trigger an update check at any time from the tray menu (the Launcher's Update action) — this runs the updater visibly. After a download is staged, the updater's Reload action hands the downloaded installer off to be run (a Compressed download is swapped to its executable form first). The newly launched Bundle installer then replaces the running app on disk.


Settings summary

All of these live on Settings → Other (stored in Update.json unless noted):

Setting Key Default Options / range
Update Server ServerType Soferity GitHub, Soferity
Update Module ModuleType Downloader Native, Downloader
Update Channel ChannelType Release Release, PreRelease
Update Extension ExtensionType Executable Compressed (.7z), Executable (.exe)
Update download limit LimitValue / LimitType 500 / Megabyte value 099999999; unit ≥ Megabyte
Auto Update Auto true on / off
Auto update type AutoType SemiSilent (but Visible when the updater is launched with no arguments, e.g. the tray Update action) Visible, SemiSilent, UpdateSilent, CompleteSilent

See also

Home

Getting Started

Wallpaper Types

Using Sucrose

Settings Reference

Creating Wallpapers

Engine Reference

Automation & Command Line

Architecture & Internals

Data, Files & Diagnostics

Building & Contributing

Help & Support

Clone this wiki locally