Skip to content

Releases: specure/lpdo

LPDO v0.4.0

Choose a tag to compare

@github-actions github-actions released this 21 Jun 19:16

Player merge in the app, a reorganised Maintenance screen, and a smarter
server-owned auto-updater.

Added

  • Merge duplicate players in the app — combine a full-name record and a
    surname-only one (or any two duplicates of the same person) into a single
    player. Start it from a player's profile (Merge…), by Ctrl/Cmd-clicking
    two players
    in the list, or from Maintenance → Merge players; all games
    move to the player you keep.

Changed

  • Home screen shows the latest TWIC issue instead of a count — the Database
    panel's TWIC tile now displays the most recently imported TWIC issue and its
    publication date (e.g. #1649 (2026-06-15)) rather than a tally of imported
    issues. The old count also included local PGN imports; the new figure is the
    latest real TWIC issue. Publication dates are read from the TWIC index and
    backfilled on download.
  • Maintenance "Additional databases" import matches the setup wizard — the
    bare path text field is replaced by the wizard's import UI: a file/folder
    picker and a collection chooser. Both entry points now look and work the same.
  • Maintenance screen grouped into tabs — the tools are split across
    Databases, Players and Others tabs (with the database overview
    pinned above) so the screen is no longer one long crowded grid.
  • Player reference file: export + a file picker for import — the Player
    reference file
    card can now export your normalised players to a
    date-stamped CSV (e.g. 20260621-players.csv) in a chosen folder, with a
    Reveal in file manager shortcut. The import path now has a File… picker
    instead of only a plain text field.
  • TWIC "Download from issue" is consistent across the wizard and Maintenance
    the Maintenance TWIC card now has the same starting-issue field as the setup
    wizard, and the value is shared between the two places (set it in one, it
    carries over to the other).
  • Automatic updates run at a time you choose, plus "Run update now" — instead
    of firing at whatever time the last run happened to land, the daily update now
    runs at a clock time you set (e.g. 02:00) via a time picker in Maintenance →
    Automatic updates
    , and a Run update now button triggers it on demand with
    live progress. Catch-up after downtime still applies: a missed run fires when
    the server next starts.

Fixed

  • TWIC download no longer re-fetches already-imported issues — the download
    step only checked whether the local zip file was present, so a pruned zip cache
    made it re-download every past issue (hundreds of MB) even though they were
    already imported. It now skips any issue already imported in the database.
  • A foreign key that a from-scratch position-index rebuild added to the index
    could make player merge (and game edits / soft-delete) fail on large databases
    with a "game_id … still referenced" error — DuckDB performs updates as
    delete+insert. The constraint is now removed automatically on startup (a
    one-time migration), and rebuilds no longer add it.
  • Automatic-updates status no longer sticks at "(running…)" after a restart
    if the server is restarted mid-update, the scheduler now reconciles the
    orphaned running state on startup (marking it interrupted) instead of
    leaving it stuck until the next due run.
  • Maintenance database tile no longer conflates local imports with TWIC
    the TWIC issues figure now counts only real, imported TWIC issues; local PGN
    imports (Megabase, Bundesliga, …) are shown as a separate Local imports
    stat, and Latest TWIC replaces the old Downloaded/Imported pair. The
    old counts mixed in local imports and TWIC ids that were registered but never
    downloadable, making the tile look inconsistent (e.g. 904 vs 853).

Full Changelog: v0.3.0...v0.4.0

LPDO v0.3.0

Choose a tag to compare

@github-actions github-actions released this 12 Jun 15:15

Annotated PGN import.

Added

  • Import keeps annotations — PGN import now preserves comments, NAGs and
    variations (and ChessBase [%cal]/[%csl]/[%eval]/… directives) instead of
    flattening games to their main line, so your own annotated games keep their
    analysis. ChessBase's bulky whole-game [%evp] eval profile is dropped.
    Applies to newly imported games — games already in your database are left as
    they are, and re-importing under the default duplicate policy skips them, so
    it won't refresh them with annotations.

Changed

  • Updated to Tauri 2.11 and applied dependency security updates
    (rustls-webpki, tar, and related crates).

Full Changelog: v0.2.0...v0.3.0

LPDO v0.2.0

Choose a tag to compare

@github-actions github-actions released this 05 Jun 13:07

What's new in LPDO 0.2.0

This release is a major upgrade to the move editor.

Variations, comments & annotations

  • Lossless editing with variations — play an alternative move mid-game and choose New variation, New main line, or Overwrite (ChessBase/Lichess-style). The full move tree is preserved when you save.
  • Promote / demote variations and delete-from-here.
  • Comments on moves and positions.
  • NAGs — annotate moves (!, ?, !!, ?!, …) and positions (±, =, , …); they show in the move list and round-trip through PGN.
  • On-board NAG badge — the move's glyph is shown directly on the destination square, chess.com-style.
  • Graphical annotations — draw on the board: Ctrl+click for a circle, Ctrl+drag for an arrow. Colours: Green, Red, Yellow, Blue, plus Magenta, Cyan and Orange. Stored as standard PGN [%cal] / [%csl] tags, so they survive export.
  • Game-end / final-position analysis and an aligned view/edit move readout with last-move highlight.

Updates

  • In-app update notifier — LPDO now checks GitHub on launch and shows a dismissible banner when a newer version is published, with What's new and Download links. (Updating stays a manual reinstall — see below.)

Downloads

  • Linux.deb (Debian/Ubuntu) or .AppImage
  • Windows.exe installer

Updating on Linux

Install the new package over the old one — it replaces the previous version in place, and your database is preserved:

sudo apt install ./lpdo_0.2.0_amd64.deb

LPDO v0.1.1

Choose a tag to compare

@github-actions github-actions released this 04 Jun 10:56
Windows: suppress spawned-subprocess console windows; detect physical RAM
for DuckDB memory_limit; NSIS .exe-only installer (dropped .msi).
Wizard: --fast (appender) position indexing; TWIC Import button gated on
download completion.

LPDO v0.1.0

Choose a tag to compare

@github-actions github-actions released this 03 Jun 17:30

LPDO — Loose Pieces Drop Off — first release.

A free, open-source desktop chess database for managing your own games and preparing for tournaments. Built with Tauri (React + Rust) over an embedded DuckDB database.

Highlights

  • Import your PGNs and large databases (Megabase, Bundesliga, TWIC)
  • De-duplication, FIDE name normalisation (with a shared cache), and a position index / move explorer
  • Player profiles & statistics; tournament prep against an upcoming opponent
  • Back up your private games to PGN

Downloads (Linux)

  • .deb — Debian/Ubuntu (sudo apt install ./LPDO_0.1.0_amd64.deb)
  • .AppImage — portable, no install (chmod +x and run)

Windows installers are coming in a follow-up release once verified.

Data from The Week in Chess (TWIC) is published by Mark Crowther — https://theweekinchess.com/

Licensed under Apache-2.0.