Skip to content

Releases: rodpolako/Chess-PGN-Trainer

1.13.5

02 Dec 16:47

Choose a tag to compare

Changes in this version:

New features

  • No new features in this release.

Bug fixes

  • Addresses "Incomplete URL substring sanitization" security defect encountered during CodeQL.

Maintenance

  • No other maintenance items with this release.

1.13.4

01 Dec 22:23

Choose a tag to compare

Changes in this version:

New features

  • Update to the Lichess studies feature where the list of Lichess studies will be saved to local cache to improve performance. If a local copy is found, the app will now use that first to populate the list. The list can always be refreshed via the "Load/Refresh Studies" button.
  • Added the ability to sort the list of Lichess studies ascending or descending by name, creation date, or modification date.

Bug fixes

  • No ther bug fixes with this release.

Maintenance

  • No other maintenance items with this release.

1.13.3

27 Nov 14:22

Choose a tag to compare

Changes in this version:

New features

  • Added the ability for the app to keep track of errors during a run and generate a PGN of the errors for targeted followup. If any errors are made during a run, you will see a new option to either retry just the failed puzzles or download a mistakes.pgn file.

  • Added a "Max Depth" setting which allows you to limit the length of the lines you are drilling against. Useful when using this app to practice openings and you want to limit just how far the trainer will test you. Note that this setting is for the entire set in the PGN or Lichess Study and does change the number of lines/puzzles to be tested if you reduce the depth to the point where lines become duplicates. If duplicates are found, then the app will only test on the first instance.

  • Added a new PGN tag for Max Depth setting which will override the main app's setting. This is useful if you want to only limit a specific PGN or study instead of app-wide. This is available for both PGN files as well as Lichess studies.

    To set the max depth setting for PGN files use:
    [PGNTrainerMaxDepth "0"]

    To set the max depth setting for Lichess studies, put this as a comment at the very beginning of the chapter:
    [%PGNTrainerMaxDepth 0]

    and replace 0 with whatever depth you want between 3 and 49. This will override whatever your default setting is currently set to for that file/study only. As an example, you can keep your main setting for the app to unlimited but set a max depth just for a specific study to 5 ply. Any time you load that file/study, it will only go 5 ply deep. Everything else would go unlimited.

  • Added autodetection of website links within the PGN annotations, removing the need for manual HTML. Any link in the comments will now be clickable automatically and open in a new window. Updated the relevant example PGNs to demonstrate.

  • Added automatic embedded video to annotation section when a valid YouTube link is included in the PGN file. No more custom HTML is required in the PGN in order to have a YouTube video automatically display in the annotation section (similar to the main screenshot). Just put in the YouTube link directly in the PGN and the app will automatically display it. Note that videos will only display on medium or larger screens. On mobile or small displays it will not be visible. A setting has been added to enable/disable this feature so that YouTube links will display just like any other link instead if desired.

  • Added a new PGN tag called PGNTrainerAutoStart which will cause the test to start automatically once the PGN is loaded. May be useful for when selecting a PGN or study to simply save a click if you know you aren't going to be changing any settings and always use the current ones.

    For PGN files use [PGNTrainerAutoStart "1"] and for Lichess studies use [%PGNTrainerAutoStart 1]. Any value other than 1 will disable auto-start.

  • Update to the results CSV download feature. It will now keep a record of every run you complete in the current session (ie: until you close your browser) and then download all the runs into the csv/clipboard in one batch.

Bug fixes

  • Fixed a bug when a PGN is informational only and has no moves causing an exception in rare cases
  • Fixed a bug with on mobile when trying to load a PGN while currently running a set.
  • Fixed a bug with the results download & copy where the filenames and series values weren't populating
  • Fixed a bug which allowed using the Next button while a game was paused.

Maintenance

  • No other maintenance items with this release

1.13.2

04 Jun 19:31

Choose a tag to compare

Changes in this version:

New features

  • Chess PGN Trainer is now a Progressive Web App. This will allow you to "install" the app to your computer or phone and have it behave like any other application. This is especially useful in mobile devices when there isn't sufficient vertical space to show the application due to the browser elements such as the address bar and other menus.
    To install the application, use the following steps:

    • On iOS devices: Tap the Share button in the menu bar, scroll down the list of options, and then tap Add to Home Screen. See here under "Add a website icon to your Home Screen" for more information.
    • On Chrome devices: At the top right, select More and then Cast, save, and share and then Install page as app....
      (On some browsers, at the top right of the address bar, click on the Install button. See here for more information.
  • Update to the Lichess studies feature. The link provided in the error message when an incorrect PAT is supplied will now take you to the Lichess token creation screen with the needed elements pre-selected and filled.

  • The app will now automatically pause if the user clicks away to another tab/window or turns off the screen on mobile devices.

  • Renamed the Lichess button to "Library" and made Lichess studies one of the items in that library. Eventually this library area will house additional sources of data (including multiple Lichess studies). Aside from a minor UI change at this point, there is no difference in functionality. More significant updates to come in a future release.

  • Thanks to PvtTwinkle for submitting this app's first pull request to add docker support.

Bug fixes

  • Fixed an issue with extra spacing between the annotation header and the content when working with Lichess studies with embedded commands.
  • Fixed bug where the app would not allow you to move to next puzzle if the PGN had an invalid FEN. In the event that an invalid FEN is used, the next button will automatically show and allow proceeding to the next puzzle, effectively skipping the current puzzle.
  • Fixed an issue with the move indicator not always showing the correct value when dealing with null moves and other corner cases.

Maintenance

  • Minor code cleanup.
  • Added additional error-handling functionality to the Lichess API feature.
  • Documentation updates to the wiki.
  • Made a change to the annotation panel where the panel will be disabled on small mobile displays due to insufficient space to properly render.
  • Made a change to prevent text selecting anything other than the annotation panel. This fixes issues where components of the UI would sometimes get accidentally selected via drag-and-drop while doing a puzzle.

1.13.1

09 May 03:26

Choose a tag to compare

Changes in this version:

New features

  • Update to the Lichess studies feature. You can now put the same commands used to pre-select trainer options into the study itself and the trainer will use them. See the wiki on how exactly to use this feature.
  • Graphical annotation symbols have been added. Any moves marked with any of the standard notation symbols (like ?? or !!) will now show in a little circle by the piece. Due the ability to choose any combination of board colors, the different types of symbols will not have unique colors. Instead they will use a complementary color based on the board color setup (similar to the color system used for showing the squares of the last moved piece).

Bug fixes

  • Fixed issue with both Safari and Firefox that arose from the refactor due to unsupported functionality. Reverted the problematic code.
  • Fixed issue with comments accompanying a null move not displaying in the annotation panel.

Maintenance

  • More code cleanup and refactoring.
  • Customized local copy of chess.js to address issues flagged CodeQL.
  • Incorporated the newest version of the pgn-parser (1.4.18) which provides detailed information on where in a PGN an error was encountered. Loading a PGN with an issue will now present a message showing the line and column number where the error occurred. It will also show the exact character preceded with a double-asterisk along with some of the surrounding content of the PGN.
    As an example, if you had a PGN with a typo for a move (in this case Kq1), attempting to load the file will return the following:
SyntaxError: Expected "@", "x", or [a-h] but "q" found.

Error at line 38, column 14:
36: [PlyCount "3"]
37: 
38: 1... Bd5 2. K**q1 (2. h3 Bxe4+) 2... Bxe4 *
  • To fix your PGN, all you need to do is open the file in a file editor and go to the indicated line and character. In this example I would go to the 38th line of this file and fix the issue at the 14th character.

1.13.0

06 May 03:43

Choose a tag to compare

Changes in this version:

New features

  • Support for drilling directly from Lichess studies! Add your Lichess user ID and API token and you will be able to load a chapter or even an entire study for drilling. Note: An API token is required for loading unlisted and private studies. If you are only using public studies, then you don't need a token, just your Lichess user ID. See the Wiki for details on how to get a Lichess API token.
  • Added an indicator on the board which will add color to the squares involved in the last played move.
  • Added an indicator (Large grey circle) for any captures available when "Show legal moves" is enabled.
  • Added the comment panel to display below the board and progress area and fit in the available space when using phones in portrait mode. Depending on your mobile device, you may not have a lot of visible area.
  • Enhanced the error handling when the pgn parser encounters an issue with a file. It will now show approximately where in the pgn the issue is originating from which should make troubleshooting a pgn much easier.
  • Improved handling of null moves and pgns with no moves.

Bug fixes

  • Fixed issue where the analysis button (magnifying glass) would remain active while paused.
  • Fixed issue where scrolling would re-enable on mobile devices in portrait mode if the user goes into settings.
  • Fixed issue with the color pickers not updating the board if you copy/paste a color value that doesn't start with a #. It will now accept either format.
  • Fixed issue with the legal move dots where the opacity was 100% when a pawn was able to promote.
  • Fixed issue where modals would trigger an aria-hidden warning when closed.
  • Fixed issue with audio not playing for first move after turning on the feature (if it was previously disabled).

Maintenance

  • Massive code cleanup and refactoring. This is to increase maintainability as well as setting the base infrastructure to add new features in the future in a modular way.
  • Replaced the favicon with a simpler version that matches the color scheme.
  • Incorporated the newest version of the pgn-parser (1.4.16) which improved support for null moves in PGN files.
  • Incorporated the newest version of chess.js (1.20.0) which replaces the absolutely ancient version (0.10.2) that was running previously.
  • Incorporated the newest version of Bootstrap (5.3.5) which included a large number of fixes from 5.3.3.

Sound Update

24 Mar 20:48

Choose a tag to compare

Changes in this version:

  • Added sound effects (move, capture, check, checkmate, and error). By default these are turned off to prevent distraction but can be enabled in the Settings menu
  • Experimental - Added text to speech to have the computer say the moves. It currently has an issue due to the speed of the computer moves where your move won't get said since the computer plays the next move immediately and that will cancel the first speech and start the next one. The net result is that you only hear the computer's moves. Works fine when playing both sides since there is time to speak the words between moves. By default it is also disabled.
  • Minor fix to the color pickers which would behave weird when trying to type in a color value instead of using the wheel or copy/pasting in the value.
  • Minor UI fixes/updates
  • Code cleanup and refactoring. More to come as part of a future major update.

Bugfix

07 Mar 03:15

Choose a tag to compare

Changes in this version:

  • Added workaround to address issues with selecting PGN files when using iOS devices (iPad/iPhone). Resolves issue #13.

Minor update

10 Feb 03:42

Choose a tag to compare

Changes in this version:

  • Updated the handling of null moves to remove "pass" and "null" as a null move indictor as it would unintentionally replace annotation text (such as "passed pawn" to "Z0ed pawn")
  • Minor UI update where a red gradient will appear behind the king when it is in check/checkmate
  • Added menu option to turn off circles and arrows via settings
  • Removed "Analysis Board" option and replaced with a magnifying glass icon which will always be available and analyze the currently displayed position. As a result, I also removed support for the [PGNTrainerAnalysisLink] tag since it is no longer relevant.
  • Fixed bug where headers are not copying to the clipboard despite the setting

Minor update

29 Jan 03:33

Choose a tag to compare

Changes in this version:

  • Updated the analysis link option to always send current position instead of puzzle beginning.
  • Updated the handling of null moves
  • Fixed a bug where moving a piece from a square that had a circle would require a double-click to drop in new location