# Changelog Kept as the work happens, not assembled at release time. Format is [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versions follow [SemVer](https://semver.org/spec/v2.0.0.html). **The `vX.Y.Z` tags already on this repository are upstream YTSage's**, inherited with its history. SageTube's own versions start below and are the ones this file records. ## Unreleased ### Fixed - **The app no longer offers upstream YTSage's releases as its own updates.** `__version__` and `pyproject.toml` had been left at the scaffolded `0.1.0` while the released tag was `v5.4.0`, so every comparison against upstream's published version reported an update. Both now read `5.4.0`, the single source of truth for the window title, the About dialog and the update check. - `ConfigManager` merged a stored config over the defaults **shallowly**, so a file written by an older build replaced whole nested objects: a stored `"player"` or `"feed"` containing only some keys silently discarded every default added since. The merge is now recursive. Keys present only in the stored file are preserved, so downgrading cannot destroy settings. - Opening *Custom Options* and clicking OK re-enabled the update checker, because the settings tab read a missing `check_app_updates` as enabled and then persisted that reading unconditionally. ### Changed - Configs now carry `config_version`. A file written before 5.4.0 — including one inherited from an upstream YTSage install — has its stored `check_app_updates` cleared once, so SageTube's own default applies rather than a setting that pointed at another project's releases. ## 5.4.0 — 2026-08-08 ### Changed - The documentation left the repository: `docs/BUILDING.md`, `docs/UPSTREAM.md` and `docs/UPSTREAM_README.md` are now the [wiki](https://git.houmeres.sk/Houmeres/SageTube/wiki). - **The history was deliberately not rewritten.** Every other repository in this org had its documentation removed from every commit on 2026-08-08. SageTube is a fork that still merges from `oop7/YTSage`, and a rewrite changes every commit id — which would end that. The files leave in an ordinary commit instead. - `.github/` and `readme-translations/` are upstream's and were left alone, so the next merge does not conflict over them.