PGN History

Old history PGN Top

21 May 2019


Fix the validation of non-pawn moves or captures something so the move or capture is spotted as illegal if the non-pawn's specified start file or rank does not match the origin square. For example the move 'Rfe3' is now illegal where before it was treated as 'R1e3' with rooks on e1 and f2 and squares e2 and e3 empty.


21 February 2019


Output tags which are not in the Seven Tag Roster like [ECO "A10"] rather than [ECO"A10"] in export format PGN. The Seven Tag Roster tags were, and are, done correctly.


10 January 2019


Fix the validation of moves where a pawn captures something so the move is spotted as illegal if the pawn's specified start file does not match the square the pawn moves from. For example the sequence '1. e4 d5 2. cxd5' is now illegal where before it was treated as '1. e4 d5 2. exd5'. Sequences such as '1. e4 c6 2. c4 d5 3. cxd5' and '1. e4 c6 2. c4 d5 3. fxd5' were, and are, treated correctly.


17 November 2018


Package README file brought up to date.


8 November 2018


Change project name to pgn-read and top-level package directory to pgn_read prior to upload to PyPI, but continue the version number sequence.

PGN is the name of a specification but pgn-read hints at the ability to read games from PGN files.

Fit unit tests to constant definition changes made in pgn-0.10.1.


30 October 2017


Improve correction, by editing, of errors detected in PGN text. Errors are put in a '{Error: ...}' comment and it is assumed such comments do not appear naturally. Any '}' put in the error comment are replaced by '::{{::' which is assumed to not appear naturally. The first move in the error comment will be incorrect.


2 October 2017


Move calculation of database index values to chesstab package.


6 August 2017


Fix regular expression which should allow quotes within quoted strings.


14 September 2016


Documentation changes only.


5 September 2016


Performance improvements to regular expressions.


7 August 2016

See Old history for previous changes.