Skip to content

Releases: aminghuf/chesspirit

Patzer v7.0.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 09:54

[7.0.0] — 2026-10-07

Patzer is now developed independently at
aminghuf/patzer. Version numbers start
again at 7.0.0 here; every entry below this one, from 7.18.0 down, is the
history of the original project, SikamikanikoBG/patzer,
under its own numbering.

Independent project

  • The update notice follows this repository's releases. A newer release
    of the original project no longer shows as an update, and an answer cached
    from it is ignored.
  • Images: releases publish to ghcr.io/aminghuf/patzer, which
    docker-compose.yml now pulls; every push to main also goes to Docker Hub.
  • The star link, the User-Agent sent to Chess.com and Lichess, and the links
    in the docs point at this repository.

Board

  • The piece slide animation is back. Pieces slide to their square over
    200ms on every board. A dragged piece doesn't animate, and the animation
    stays off under prefers-reduced-motion.

Docs

Import your whole history, or any PGN

  • New: import every game from Chess.com or Lichess, not just the last 20.
    A picker next to the Import buttons on Game Review chooses the last 20,
    100 or 500 games, or all of them (the default). Games already here are
    skipped, so importing again is safe. One import per account runs at a
    time. Background analysis still covers only each account's 20 most recent
    games per site; older games are analysed when you open them, so a
    5,000-game import doesn't tie up Stockfish and the LLM for days.
  • New: Import PGN, like lichess.org/paste. Paste a game or upload a
    .pgn file (up to 10 MB, one game or many). A single game opens straight
    in the analyzer. Your side is found from your Patzer, Chess.com and
    Lichess names. Importing the same game twice adds no copy. Variants and
    games from a set-up position are skipped, because the analyzer only
    reviews standard chess from the initial position.
  • Game Review lists every game. The list loads 100 at a time with a
    Load more button, and the count shows all matching games.
  • Fixed: a Chess.com outage during Import now shows an error message
    instead of failing with a server error.

Persian (Farsi)

  • New language: Persian (فارسی). Everything is translated: the whole
    interface, every Learn lesson, and the AI coach — its persona, rules,
    move descriptions ("اسب سرباز را در e5 می‌گیرد"), verdicts, hints and the
    written Game Review. The coach's check against praising a mistake knows
    Farsi too, whether words are joined with a zero-width non-joiner or a space.
  • Right-to-left layout. Choosing Farsi flips the page. The board, the
    eval bar and graph, the move list and the move buttons stay left to right,
    since files a–h always run that way, and chess text such as "Nf3+" or a
    score stays readable inside Farsi sentences.
  • Vazirmatn font for Farsi. A modern Persian sans-serif (SIL OFL 1.1),
    bundled with the app rather than fetched from the web, since Patzer's
    content policy only allows its own fonts and a home server may be offline.
    It is only downloaded when the page is in Farsi.

Filter the game list

  • New: filters on Game Review for period (last 7 / 30 / 90 / 365 days),
    site (Chess.com, Lichess, bot, PvP, PGN), result (wins, losses, draws),
    your colour and time control. They combine with search and Starred only,
    the game count follows them, and they live in the URL, so a filtered view
    survives a reload and can be bookmarked.

Puzzles from the Lichess database

  • New: Puzzles page with the Lichess puzzle database (CC0, ~5 million
    puzzles). Pick a theme from the groups Lichess uses on
    lichess.org/training/themes (phases, motifs, advanced, mates, special
    moves, goals, lengths, origin) and one of five difficulties relative to
    your puzzle rating. The rating starts at 1500 and moves with the first
    try at each puzzle; retries and a peek at the solution don't win points.
    Like on Lichess, any mating move counts even if the solution has another.
  • Two sources. Online samples random pages of the
    Lichess/chess-puzzles dataset on Hugging Face and filters them by theme
    and rating in Patzer, keeping a pool in memory, so nothing is downloaded
    or stored. (Hugging Face's DuckDB filter endpoint can't filter the
    Themes list and times out on this dataset, so it isn't used.) Rare
    themes can take a couple of tries. On this server: an
    admin downloads lichess_db_puzzle.csv.zst (~300 MB) once and Patzer
    imports it into data/puzzles.db (~1 GB), separate from chess.db so
    backups stay small. It then works offline. Unpacking uses Node's built-in
    zstd (22.15+) or the zstd tool, which the Docker image now includes.
  • Train keeps the puzzles from your own games.

Chesspirit for Android 1.0.0

Choose a tag to compare

@aminghuf aminghuf released this 07 Oct 16:01

The first Android build of Chesspirit.

What it does

  • Connects to any Chesspirit server. Enter your server's address once (for example chess.example.com or 192.168.1.20:8800) and the app runs that server's Chesspirit, with its engine, coach and your account. Plain-http servers on a home network work too.
  • Offline mode, no server needed. Tap Use offline for a game against Stockfish running on the phone (eight levels), an analysis board that follows every move, and 4,070 Lichess puzzles bundled with the app.

Install

Download chesspirit-android-1.0.0.apk below and open it on your phone. Android will ask you to allow installing from that source, because the app is not from the Play Store. Needs Android 6 or newer.

Good to know

  • This is a debug-signed test build that has not yet been tested on a wide range of devices.
  • Offline games and the offline puzzle rating stay on the phone; they do not sync to a server account.
  • The offline engine is the "lite" WebAssembly build of Stockfish 19 (GPL-3.0); its licence text ships inside the app. See THIRD_PARTY_NOTICES.md.

SHA-256: 9eb52d0b66bff330b5810c3cb92e3f5fb7217f52d6a6764b15862f0383597fac