CHANGELOG.md keeps an Unreleased section (user-facing changes add a line in
the same commit); tool/release.sh cuts it into the version, the manifest
gets a structured "changes" field next to the one-line "notes" older
apps read, and the Gitea release text is that section. The app's update
band shows the top items, What's new opens a card (Added / Changed /
Fixed), and the first start after an update shows it once.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Linux app id dev.foxyz.starsync, binary starsync; Windows starsync.exe,
company foxyz; server starsync-server; Dart package starsync; archives
starsync-<ver>-*.
- 1.2.x compatibility: watch_together and watch-together-server
launchers (Linux) / copies (Windows) in the archive; the updater
accepts both names and relaunches the new binary; update.sh/.bat use
whichever server exists.
- First start copies (never moves) the old support folder and this
app's Hive boxes out of ~/Documents into <support>/hive; a marker
makes it run once; AppDirs is a port; settings schema version with
ordered migrations.
- Launcher entry dev.foxyz.starsync.desktop; the old one removed.
- Repository name and URLs unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
X.Y.Z-dev.N builds read the dev prerelease's manifest as well as the
stable one and take the newer, so a tester gets each test build through
the normal update and lands back on stable at the release.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tool/package_windows.ps1 builds watch-together-<ver>-windows-x64.zip
(same layout as the Linux tarball, libmpv bundled, update.bat and
watch-together-server.exe). The release workflow gets a windows job;
ci runs the updater tests on Windows. Publishing moves to
tool/release_publish.dart (dart: only, no python/bash on Windows), which
tolerates both jobs racing to create the release and replaces an asset
on re-runs. release.sh writes both asset URLs into the manifest.
Windows jobs check out with plain git (the host's cached
actions/checkout clone was corrupt).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>