487 lines
19 KiB
HTML
487 lines
19 KiB
HTML
<head>
|
|
<title>Change History</title>
|
|
<link rel="author" href="mailto:d.j.barnes@kent.ac.uk">
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
|
|
<meta name="Author" content="David J. Barnes">
|
|
<meta name="Description" content="Change history for pgn-extract">
|
|
<meta name="Keywords"
|
|
content="pgn-extract change history">
|
|
<link href="style.css" rel="stylesheet" type="text/css" media="all">
|
|
</head>
|
|
<body>
|
|
<div id="body">
|
|
<div id="page-wrapper">
|
|
<div id="page">
|
|
<h2>Change History</h2>
|
|
<ul>
|
|
<li>10th August 2022: Bug fix with -z for failure to match the final position and not
|
|
necessarily marking the first match in a game when there are multiple matches.
|
|
|
|
<li>7th August 2022: Bug fix for -z when only one side's pieces are listed.
|
|
|
|
<li>27th June 2022: --firstgame and --gamelimit added. Suggested by Peter Stein.
|
|
|
|
<li>23rd June 2022: Regular expressions added to tag matching via -t. Suggested by Peter
|
|
Stein.
|
|
|
|
<li>18th May 2022: --seventyfive added.
|
|
|
|
<li>17th May 2022: --repetition5 added.
|
|
|
|
<li>16th May 2022: Multiple numeric matches of a single tag with -t now
|
|
require all matches to be true. This allows selection of ranges of values
|
|
via < and > operators, for instance.
|
|
Floating-point numerical values are accepted.
|
|
|
|
<li>3rd May 2022: Bug fix for failure to clear a pointer to freed memory.
|
|
|
|
<li>27th Mar 2022: Relational operator (>, <, etc.) may be used to match
|
|
any wholly numeric tag values via the -t flag.
|
|
|
|
<li>23rd Feb 2022: Bug fix for material matches where games involve promotion.
|
|
|
|
<li>17th Feb 2022: Added recognition of some en passant indicators in the input. They are deleted
|
|
in the output version.
|
|
|
|
<li>26th Jan 2022: Added recognition of single-line comments. I have no idea why these escaped my
|
|
attention over the past 27 years!
|
|
<br>Fixed inconsistent conversion of polyglot hashcodes shorter than 16 digits, and output hashcodes
|
|
with leading zeros where appropriate. The fix affected correct operation of the -H option.
|
|
<br>Replaced nonsense Result tags with *.
|
|
<br>Fixed incorrect TotalPlyCount when --totalplycount and --splitvariants are used together.
|
|
<br>Thanks for Robert Gamble for highlighting these issues.
|
|
|
|
<li>18th Jan 2022: Bug fix to --evaluation that counted illegal ep moves in the Shannon evaluation.
|
|
|
|
<li>28 Dec 2021: Edits to the index to make it a little more structured.
|
|
|
|
<li>24th Nov 2021: Added -Wfen.
|
|
|
|
<li>16th July 2021: Added --deletesamesetup.
|
|
|
|
<li>25th June 2021: Extended matching of TimeControl to include the formats
|
|
of sudden death and sandclock.
|
|
|
|
<li>19th June 2021: Added --addfencastling following a suggestion from
|
|
David Barlow.
|
|
|
|
<li>4th Apr 2021: Added --detag following a suggestion by Gabriele Battaglia.
|
|
|
|
<li>2nd Mar 2021: Make duplicate suppression work with input from stdin. Added --minply, --maxply,
|
|
--minmoves, --maxmoves as clearer alternatives to -p and -b.
|
|
|
|
<li>27th Jan 2021: Bug fix to --fixtagstrings.
|
|
|
|
<li>3rd Jan 2021: Added --linenumbers following a suggestion by Ejner Borgbjerg.
|
|
|
|
<li>8th Nov 2020: Added --fixtagstrings.
|
|
|
|
<li>7th Nov 2020: Date matches with -t and -T extended to match on month and day as well as year.
|
|
|
|
<li>7th Oct 2020: Added --wtm and --btm.
|
|
|
|
<li>25th Jul 2020: Added limited relational TimeControl matching with -t following
|
|
a suggestion by Erwin Wouterson.
|
|
|
|
<li>2nd Jul 2020: Added missing 'ep' for en passant moves with -Wxlalg and -Wxolalg.
|
|
|
|
<li>12th Feb 2020: Bug fix to eliminate illegal pawn moves in long algebraic notation.
|
|
|
|
<li>13th Oct 2019: Suppressed repeated error message with malformed dates when matching a Date tag with a relational operator.
|
|
|
|
<li>31st Jul 2019: Added --startply.
|
|
|
|
<li>21st Jun 2019: Added --fenpattern, --fenpatterni, --materialy and --materialz as command-line arguments.
|
|
|
|
<li>9th May 2019: Delete NAGs appearing before the first move of a game. $220 is
|
|
sometimes used (e.g., by ChessPad) as a print-board indicator.
|
|
|
|
<li>22nd Apr 2019: Improved --repetition so that it does not give false positives when
|
|
castling rights or who is to move are different.
|
|
<p>Retain next move number rather than resetting to 1 with --dropply and --dropbefore.
|
|
|
|
<li>14th Apr 2019: Fixed a memory error in v18-10 that occurred when a positional match was found but the moves of the game were invalid.
|
|
|
|
<li>28th Mar 2019: Added --xroster to suppress tags that are not required with -R.
|
|
|
|
<li>13th Nov 2018: Missing SetUp tags no longer elicit an error message as this contravention of the standard is so common.
|
|
|
|
<li>28th Oct 2018: Negative value accepted with --dropply to indicates plies to be
|
|
retained at the end of the game.
|
|
|
|
<li>18th Oct 2018: open game files in binary mode to cope with the Ctrl
|
|
characters that appear in some.
|
|
|
|
<li>17th Oct 2018: Accept Z0 as an alternative to --.</li>
|
|
|
|
<li>13th Oct 2018: Added --dropbefore as a result of a suggestion by Josip Salai.
|
|
Fixed missing SetUp tag with --dropply.
|
|
Fixed -H to work with 32-bit Windows.</li>
|
|
|
|
<li>7th Oct 2018: Added -y.</li>
|
|
|
|
<li>19th Aug 2018: Fixed a memory leak with -z.</li>
|
|
|
|
<li>11th July 2018: Added the MatchLabel tag and FENPatternI matching
|
|
with -t after a suggestion by Hedinn Steingrimsson.
|
|
In addition, significantly improved the efficiency of FENPattern
|
|
matches.</li>
|
|
|
|
<li>3rd July 2018: Added the MaterialMatch tag with -z after a suggestion
|
|
by Hedinn Steingrimsson.</li>
|
|
|
|
<li>23rd Apr 2018: With -R, include tags in the output that are not explicitly
|
|
listed in the roster order. This aligns the behaviour with the documentation.</li>
|
|
|
|
<li>9th Feb 2018: Suppress warning for null moves when --allownullmoves is used.
|
|
With --fixresulttags, prefer the terminating result if either it or the result
|
|
tag is "*".</li>
|
|
|
|
<li>29th Dec 2017: Corrected failure to OR rather than AND the pseudo Elo
|
|
tag used with -t.</li>
|
|
|
|
<li>17th Dec 2017: Accepted multiple NAG comment pairs after a move.
|
|
If NAGs are suppressed then the associated comments are retained.</li>
|
|
|
|
<li>30th Nov 2017: Added --nestedcomments.</li>
|
|
|
|
<li>12th Nov 2017: Added --dropply after a suggestion by Heiko Bruns.</li>
|
|
|
|
<li>5th Oct 2017: Only require "960" in Variant tag strings for
|
|
Chess960 games.</li>
|
|
|
|
<li>23rd Sep 2017: Added the previously documented, but
|
|
unimplemented --underpromotion.</li>
|
|
|
|
<li>3rd Sep 2017: Bug fix for zero-move games which were not being
|
|
followed by a blank line.</li>
|
|
|
|
<li>26th July 2017: --matchplylimit added following a suggestion by James Ward.</li>
|
|
|
|
<li>23rd July 2017: Bug fix for --splitvariants.</li>
|
|
|
|
<li>21st July 2017: Added --nobadresults to suppress games with inconsistent
|
|
result indications.
|
|
|
|
Fixed failure to correct terminating result with --fixresulttags.
|
|
|
|
Added --allownullmoves.</li>
|
|
|
|
<li>15th July 2017: Added -Tf for FEN pattern matching.</li>
|
|
|
|
<li>8th July 2017: Added --plycount. With -z, use a FEN tag (if present) to count
|
|
the number of pieces.</li>
|
|
|
|
<li>6th July 2017: Adjusted -z to work correctly with a position stability value of 0.
|
|
Implemented the suggestion of Josip Salai that that FEN as the marker with --markmatches
|
|
should be interpreted as a request to output the FEN encoding of the match position.</li>
|
|
|
|
<li>28th June 2017: Added a c1 comment to -Wepd output to record the game's result.
|
|
Added the requirement that the Variant tag contain the string "chess 960" to be
|
|
considered as Chess960 games on output. This primarily affects encoding of castling
|
|
moves in long-algebraic notation.</li>
|
|
|
|
<li>6th June 2017: Added a second number to the -# flag to control file numbering.</li>
|
|
|
|
<li>4th June 2017: Chess960 long algebraic castling notation accommodated
|
|
on both input and output. This is where castling is indicated by specifying
|
|
the Rook's column as the destination for the King.</li>
|
|
|
|
<li>2nd June 2017: With --fixresulttags don't report inconsistent results that
|
|
can be fixed.</li>
|
|
|
|
<li>21st May 2017: Added --commentlines after a suggestion
|
|
by Gabriele Battaglia.</li>
|
|
|
|
<li>21st April 2017: Optional limiting depth added to --splitvariants.</li>
|
|
|
|
<li>7th April 2017: License updated to version 3 of the GPL.</li>
|
|
|
|
<li>31st March 2017: Added --splitvariants after a suggestion by Vladimir Volovich
|
|
to add functionality found in pgnsplit.</li>
|
|
|
|
<li>19th February 2017: Extended --selectonly and added --skipmatching after
|
|
a suggestion by Folkert van Heusden.</li>
|
|
|
|
<li>16th February 2017: Fixed runtime failure when -x and -n were used together.
|
|
Added missing SetUp tag when a FEN tag is present.
|
|
Correct "1/2" in a Result tag to "1/2-1/2".
|
|
Added explicit Q promotion when unspecified.
|
|
Fixed lack of output with -W (i.e., output as source).</li>
|
|
|
|
<li>29th January 2017: Added --hashcomments to add a comment containing
|
|
a polyglot hash code after each move. Added -H for Zobrist polyglot hash
|
|
matches.</li>
|
|
|
|
<li>Added text after -F for FEN-position output at arbitrary positions and not simply
|
|
at the end of a game. Suggested by Josip Salai.</li>
|
|
|
|
<li>22nd January 2017: Added --stopafter.</li>
|
|
|
|
<li>20th January 2017: Added --nosetuptags and --onlysetuptags following a
|
|
discussion with Mike Crockett. Added -p[elu] for finer control of game
|
|
length matching than provided by -b.</li>
|
|
|
|
<li>14th January 2017: Fixed --fuzzydepth.</li>
|
|
|
|
<li>9th January 2017: Improved the efficiency of (lack of) stalemate detection.</li>
|
|
|
|
<li>1st January 2017: Added --fixresulttags for conflicts between the game termination
|
|
and the result tag.
|
|
Source code rewrites of function names for more consistent naming.</li>
|
|
|
|
<li>8th November 2016: Allows 'b' as a trailing promotion character, previously disallowed.</li>
|
|
|
|
<li>3rd September 2016: Added --quiescent for position quiescence after a suggestion from
|
|
Mike Crockett.</li>
|
|
|
|
<li>17th April 2016: Added --tagsubstr for substring matches on tags.</li>
|
|
<li>4th March 2016: Added --quiet to suppress the number of games processed, as an extension of -s.
|
|
(Suggested by Norm Pollock.)</li>
|
|
<li>21st November 2015: Added recognition of Chess960 FEN encodings and application of its
|
|
castling rules.</li>
|
|
<li>16th October 2015: Added --fifty, --repetition, and warnings about inconsistent results in tags on
|
|
checkmate and stalemate after suggestions by Norm Pollock.</li>
|
|
<li>6th May 2015: Fixed errors in the half-move clock on castling and pawn promotion, thanks
|
|
to Brandon RichardWebster.</li>
|
|
<li>23rd Mar 2015: Added --nofauxep after a suggestion by Norm Pollock.</li>
|
|
<li>21st Mar 2015: Fixed off-by-one in move number output with -F when white-to-move.</li>
|
|
<li>20th Mar 2015: Added -Wxlalg at the suggestion of Bruce Ramsey.</li>
|
|
<li>8th Jan 2015: Fixed bug in game counting with -#.
|
|
Suppressed games with null moves (--) in the main line.</li>
|
|
<li>28th October 2014. Added --selectonly after a suggestion by Francis Steen.</li>
|
|
<li>2nd September 2014. Corrected an error in the generation of hashcodes
|
|
when a promotion is made.</li>
|
|
<li>31st May 2014. Added --addhashcode.</li>
|
|
<li>25th May 2014. Added --totalplycount for Erich Körber.</li>
|
|
<li>5th March 2014. Added --keepbroken to allow broken games to be output.
|
|
Added at the request of Mark Crowther primarily to deal with the problem of live
|
|
recording where the kings are moved to the centre of the board at the end of
|
|
a game and erroneously included in the score.</li>
|
|
|
|
<li>6th September 2013. Corrected failure to 'or' together multiple
|
|
dates with -T and -t.</li>
|
|
|
|
<li>16th May 2013. Corrected an error in the whole-move number in
|
|
FEN output, thanks to Vincent Fleuranceau.</li>
|
|
|
|
<li>14th May 2013. Null move notation (--) in variations recognised.</li>
|
|
|
|
<li>16th April 2013. Added --fuzzydepth. This is due to Owen D. Lyne who
|
|
requested this functionality years ago - sorry for taking so long, Owen!</li>
|
|
|
|
<li>11th April 2013. Added -Wuci.</li>
|
|
|
|
<li>29th March 2013. Added --version.</li>
|
|
|
|
<li>26th March 2013. Fixed crash when a string to be output is longer than the output line length.</li>
|
|
|
|
<li>12th March 2013. Added long-form versions of -a, -c, -d and -o:
|
|
--append, --checkfile, --duplicates and --output.</li>
|
|
|
|
<li>9th February 2013. Added pattern matching based on
|
|
FEN descriptions and --markmatches for JS.</li>
|
|
|
|
<li>23rd December 2012. Added --fencomments for Tyler Eaves.</li>
|
|
|
|
<li>2nd December 2012. Allowed 0 for --plylimit.</li>
|
|
|
|
<li>22nd September 2008. Added --stalemate for Wieland Belka.</li>
|
|
|
|
<li>15th September 2008. Added --nochecks and fixed -A so that it
|
|
handles long-form arguments properly.</li>
|
|
|
|
<li>22nd December 2007. Added --notags, --plylimit, --nomovenumbers and
|
|
--noresults after a suggestion by Wieland Belka to be able to create opening books.</li>
|
|
|
|
<br>Added --evaluation for Folkert van Heusden.</li>
|
|
|
|
<br>Added --stalemate for Norm Pollock.</li>
|
|
|
|
<br>Added calculation of the half-move clock to FEN strings.</li>
|
|
|
|
<br>Most of the arguments taking filenames can now be separated from
|
|
the filename with a space.</li>
|
|
|
|
<br>Gradually adding long-form alternatives for arguments, e.g.
|
|
--seven, --notags, etc.</li>
|
|
|
|
<li>24th April 2007. Fixed a bug with mate annotation. Added the -M flag for
|
|
checkmate matches, which is due to Richard Jones.</li>
|
|
|
|
<li>19th October 2005. Added language-specific letters to -Welalg
|
|
following a suggestion from Folkert van Heusden.</li>
|
|
|
|
<li>1st May 2004: Fixed an error with ECO classification that
|
|
was causing the file list to be out of sync.</li>
|
|
|
|
<li>29th April 2004: Buffered game text before outputting it,
|
|
so that trailing spaces on lines (which violate the PGN spec)
|
|
can be deleted.<br>
|
|
Games with zero moves are now acceptable.</li>
|
|
<li>26th April 2004: Slight modification to one of the hashing
|
|
|
|
values made in order to try to avoid clashes in ECO matches.
|
|
ECO matches now have a discretion of up to 6 half moves.</li>
|
|
|
|
<li>13th February 2002: Added -Welalg as an output format following
|
|
a suggestion from Rafal Furdzik.</li>
|
|
|
|
<li>27th March 2001
|
|
<ul>
|
|
<li>Added output of EPD via -Wepd.
|
|
<li>Fixed a long standing error in FEN castling rights. These were
|
|
not being withdrawn if a Rook was captured on its home square.
|
|
Pointed out by Karl-Martin Skontorp, who also provided the
|
|
incentive to add -Wepd.
|
|
</ul></li>
|
|
|
|
<li>26th April 2000
|
|
Added the -R flag for tag ordering.</li>
|
|
|
|
<li>22nd April 2000
|
|
Completed implementation of -A to work with all flags.</li>
|
|
|
|
<li>21st April 2000
|
|
<ul>
|
|
<li>Added the -F flag.
|
|
<li>Added support for reading Russian source files.
|
|
</ul></li>
|
|
|
|
<li>11th April 2000
|
|
<ul>
|
|
<li>Added the -A flag.
|
|
<li>Extended usage of -Wsan to support output in different languages.
|
|
<li>Usage of -e with -7 retains an ECO tag in matched games.
|
|
<li>FEN tags with the -t flag are used as positional matches
|
|
(equivalent to -x matches).
|
|
<li>Non-standard tags are now retained in game output.
|
|
</ul></li>
|
|
|
|
<li>12th January 2000
|
|
C compiler with Red Hat Linux 6 was no longer happy with
|
|
static initialisations involving stdin, stdout and stderr.
|
|
Changes made to lex.c and main.c to work around this.
|
|
Pointed out by Mladen Bestvina.</li>
|
|
|
|
<li>18th October 1999
|
|
Numbers greater than 3 allowed with -E, at the request of Owen Lyne.</li>
|
|
|
|
<li>15th December 1997
|
|
Treat \r as WHITESPACE (for DOS files).</li>
|
|
|
|
<li>8th June 1997
|
|
Added -b flag to set bounds on the number of moves in a game to
|
|
be matched.</li>
|
|
|
|
<li>2nd May 1997
|
|
Corrected small error when strings were not terminated properly.
|
|
In tags, this resulted in the corrected tag ending in ]"] instead
|
|
of "].</li>
|
|
|
|
<li>17th February 1997
|
|
Added a little more error recovery.</li>
|
|
|
|
<li>15th November 1996
|
|
Added -Z.</li>
|
|
|
|
<li>23rd Sep 1996
|
|
It is no longer necessary to omit move numbers from the variations
|
|
files (-v and -x). This makes it easier to cut and paste games
|
|
of interest into these files.</li>
|
|
|
|
<li>28th Jun 1996
|
|
It is no longer necessary to terminate the tag file (-t).
|
|
Relational operators added in the tag file (-t).
|
|
Added -E flag.</li>
|
|
|
|
<li>7th May 1996
|
|
Corrected failure to make ECO classification when combined with -x.
|
|
Added lalg and halg as long algebraic output formats.</li>
|
|
|
|
<li>9th Oct 1995
|
|
Add -#</li>
|
|
|
|
<li>25th Sep 1995:
|
|
Default to reading stdin if no file arguments are provided.</li>
|
|
|
|
<li>24th Jul 1995:
|
|
Added setup from FEN tags.</li>
|
|
|
|
<li>18th Jul 1995:
|
|
<ul>
|
|
<li>Added material balance matches with -z.
|
|
<li>Added 'L' as a minor piece letter in ending files.
|
|
</ul></li>
|
|
|
|
<li>14th Jul 1995:
|
|
Made the order of arguments immaterial.</li>
|
|
|
|
<li>5th Jul 1995:
|
|
<ul>
|
|
<li>Added ECO classification with -e.
|
|
<li>Fixed false partial substring matches with -v, e.g. textual
|
|
variation move Nc6 is now no longer matched by game move c6.
|
|
</ul></li>
|
|
|
|
<li>22nd Mar 1995:
|
|
Made permutation matching with -v the default and added -P
|
|
to suppress it.</li>
|
|
|
|
<li>Jan 1995: Added -n and -L.</li>
|
|
|
|
<li>17th Nov 1994: Liberated the program from using YACC and Lex.</li>
|
|
|
|
<li>13th Oct 1994: Released test version with ChessMaster output.</li>
|
|
|
|
<li>20th Sep 1994: Added move rewriting and -W flag.</li>
|
|
|
|
<li>7th Sep 1994: Added -D flag.</li>
|
|
|
|
<li>6th Sep 1994: Added -C and -V flags and soundex matching.</li>
|
|
|
|
<li>5th Sep 1994:
|
|
<ul>
|
|
<li>Integrated the positional variation code from a separately
|
|
developed program.
|
|
<li>Added -N flag.
|
|
<li>Added ! to the textual variation syntax.
|
|
<li>Removed the writing to extract.pgn that was present in an
|
|
earlier unreleased version.
|
|
<li>Added -d flag.
|
|
</ul></li>
|
|
|
|
<li>8th Jul 1994:
|
|
<ul>
|
|
<li>Added -o flag.
|
|
<li>Discarded writing to standard output in DOS version because of
|
|
extensive problems trying to make this work with redirected
|
|
output. Instead, output is written to the file extract.pgn.
|
|
</ul></li>
|
|
|
|
<li>6th Jul 1994: Added -7 flag.</li>
|
|
|
|
<li>9th May 1994: Added -p flag for variation permutations.</li>
|
|
|
|
<li>6th May 1994: Added * as a don't-care move in variations files.</li>
|
|
|
|
<li>26th Apr 1994: Added the -t flag for files of extraction criteria.</li>
|
|
|
|
<li>25th Apr 1994: Added the -T flag for extraction criteria.</li>
|
|
|
|
<li>22nd Apr 1994: Added the -f flag for handling lists of PGN files.</li>
|
|
|
|
<li>13th Apr 1994:
|
|
<ul>
|
|
<li>Cleaned up the game-length determination by reading/writing files
|
|
in binary-mode.
|
|
<li>Added -a flag for appending to existing .pgn files.
|
|
<li>Added multiple input files.
|
|
<li>Made verbose output the default behaviour.
|
|
</ul></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|