-
-
Notifications
You must be signed in to change notification settings - Fork 60
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.
- How auto-update works
- Auto-update visibility modes
- Update source (server)
- Update channel
- Delivery module and extension
- Download speed limit
- Triggering a manual update
- Settings summary
- See also
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.
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.
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). |
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. |
Two settings control how the update is downloaded and applied:
-
Update Module (
ModuleType, defaultDownloader):Value Behavior NativeBuilt-in HttpClientstreaming download (honors the speed limit).DownloaderUses the Downloaderlibrary for the download. -
Update Extension (
ExtensionType, defaultExecutable):Value Behavior CompressedDownloads a .7zarchive, then extracts it and runs the extracted installer.ExecutableDownloads the .exeinstaller directly and runs it.
When the visibility mode is CompleteSilent, the installer is run with /s.
The Update download limit is a value + unit pair (LimitValue / LimitType), default 500 Megabyte. The value ranges 0–99999999; the unit must be Megabyte or larger. Both the Native and Downloader modules honor this maximum bytes-per-second cap.
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.
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 0–99999999; 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
|
- Settings Other — the full Other settings page, including update options.
- Update Internals — the updater's step-by-step pipeline.
- Installation — manual download and install of any version.
- Privacy & Telemetry — update telemetry and how to disable it.
- Runtime Dependencies — what the new build needs to run.
Getting Started
- Installation
- System Requirements
- Quick Start
- Portal Interface Tour
- Updating Sucrose
- Uninstalling Sucrose
Wallpaper Types
Using Sucrose
- Managing Library
- Using Store
- Customizing Wallpaper
- Multi-Monitor
- Wallpaper Cycling
- Choosing Engines
- Performance Rules
- Theme, Tray & Startup
- Discord Rich Presence
Settings Reference
- Settings Overview
- Settings: General
- Settings: Personal
- Settings: Performance
- Settings: Wallpaper
- Settings: System
- Settings: Other
- Settings: All Keys
Creating Wallpapers
- Create Overview
- Create: Step By Step
- Create: Package Format
- Create: Customization Controls
- Create: JS Bridge
- Create: Audio API
- Create: System API
- Create: Property Listener & Filters
- Create: Web Architecture
- Create: Compatibility
- Create: Example Wallpapers
- Create: Sharing & Publishing
Engine Reference
- Engines Overview
- Engine: MpvPlayer
- Engine: VlcPlayer
- Engine: WebView
- Engine: CefSharp
- Engine: Nebula
- Engine: Vexana
- Engine: Xavier
- Engine: Aurora
- Engine Comparison
Automation & Command Line
Architecture & Internals
- Architecture Overview
- Lifecycle
- Commandog Dispatcher
- Single-Instance Mutexes
- IPC
- Backgroundog Service
- Crash Reporting
- Update Internals
- Property Service
- Undo Internals
Data, Files & Diagnostics
Building & Contributing
- Building From Source
- Repository Layout
- Shared Item Projects
- Code Conventions
- Preprocessor Symbols
- Publish Pipeline
- Bundle Installer Internals
- Extending Sucrose
- Contributing
- Translating with Localizer
- Localization Coverage
- Security Policy
- Privacy & Telemetry
Help & Support