Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 28 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,41 @@ on:
workflow_dispatch:
inputs:
tag:
description: 'Existing release tag to upload assets to (builds from the dispatched branch)'
description: 'Existing tag to release and upload assets to (builds from the dispatched branch)'
required: true

permissions:
contents: write

jobs:
# Creates the GitHub release for a pushed tag if it doesn't exist yet, so
# pushing a tag is all a release takes. Notes come from
# docs/release-notes/<tag>.md when present, else GitHub's generated notes.
release:
name: Create release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Create release if missing
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ inputs.tag || github.ref_name }}
run: |
if gh release view "$TAG" >/dev/null 2>&1; then
echo "Release $TAG already exists"
exit 0
fi
notes="docs/release-notes/$TAG.md"
if [ -f "$notes" ]; then
gh release create "$TAG" --verify-tag --title "$TAG" --notes-file "$notes"
else
gh release create "$TAG" --verify-tag --title "$TAG" --generate-notes
fi

windows:
name: Windows portable .exe
needs: release
runs-on: windows-latest
steps:
# The Stockfish engine comes from the `stockfish` npm package (npm ci).
Expand Down Expand Up @@ -42,6 +68,7 @@ jobs:

macos:
name: macOS universal .dmg
needs: release
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
Expand Down
21 changes: 21 additions & 0 deletions docs/release-notes/v1.1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Faster, stronger, and no more stalled analysis

### Fixed
- **Analysis no longer fails or times out when you move quickly.** A "stop" command could get lost while the engine was switching positions, which made the app rebuild the whole engine and sometimes give up with no move. Moves now get a best line within milliseconds of each position change.
- **Settings now persist between launches** (theme, number of lines, think time). Previously they reset every time the app started.
- Fonts now load in the desktop app.

### Faster and stronger engine
- Stockfish now uses **all your CPU cores** (the multi-threaded NNUE build). The previous release was accidentally running the single-threaded engine. That's roughly 4× the search speed on a 4-core machine, which means deeper, stronger analysis in the same time.
- New **Think time** setting (1s / 3s / 5s / 10s) in the ⚙ menu. The best move so far still appears instantly.
- Faster engine startup on repeat launches.

### Updates
- The app now **checks for new releases at startup** and shows a banner (plus a dot on the ⚙ gear) when one is available. You can turn this off in the ⚙ menu, and "Check for updates" is still there to run on demand.

### Other
- Opening the app a second time focuses the existing window instead of starting a second engine.

### Downloads
- **Windows:** `Chess.Solver.1.1.0.exe`, a portable build. SmartScreen may warn because it's unsigned: choose *More info → Run anyway*.
- **macOS:** `Chess.Solver-1.1.0-universal.dmg` (Intel + Apple Silicon). It isn't notarized, so right-click the app → **Open** on first launch.
Loading