Chess.js Versions Save

A TypeScript chess library for chess move generation/validation, piece placement/movement, and check/checkmate/draw detection

v0.10.0

7 years ago

Enhancements

  • [Parser] Add optional sloppy argument to .move and .load_pgn. This change relaxes the SAN move parser to allow for overly disambiguated moves arising during absolute pins. Over disambiguation violates the SAN spec, but many programs (including Chessbase and Fritz) seem to ignore this rule.

v0.9.4

8 years ago

Bug Fixes

  • [PGN] load_pgn() now correctly parses black to move indicators after comments or RAV's (1. d4 d5 2. Bf4 Nf6 3. e3 g6 4. Nf3 (4. Nc3 Bg7 5. Nf3 O-O 6. Be2 c5) **4...** Bg7 5. h3 { 5. Be2 O-O 6. O-O c5 7. c3 Nc6 } **5...** O-O).
  • [PGN] load_pgn() now ignores numeric annotation glyphs (25. Rb3 $1 h4)
  • [PGN] if available, pgn() now uses the move number specified in the PGN SetUp header
  • [FEN] validate_fen() now ensures the en-passant square is valid with respect to the side to move

v0.9.3

8 years ago

Enhancements

  • Modify package.json for inclusion with cdnjs

v0.9.2

8 years ago

Bug fixes

  • load_pgn() now ignores (and correctly parses) Recursive Annotation Variation (RAV) found with a PGN move list
  • Fixes handling of multi-char move evaluation symbols (e.g. 1. a4?!)

Documentation

  • Document calling .header() without arguments to retrieve PGN header information

v0.9.1

8 years ago

Bug fixes

  • Fix bug where load_pgn() was attempting to parse half move markers - three consecutive periods '...' - as actual moves.

v0.9.0

9 years ago

Enhancements

  • Upgrade to semantic versioning. This release should be used as a reference point for all projects which have been tracking master for the past few years.