Skip to content

Releases: DanielMiao1/chess

v1.1.2-alpha.1

05 Apr 19:03
4e20fa3
Compare
Choose a tag to compare
  • Release the source code into the public domain
  • Polyfill str.isNumeric for Python 2.x support

v1.1.1

11 Feb 04:57
Compare
Choose a tag to compare
  • Added checks for fivefold repetition, insufficient material, and seventyfive move draw rules

v1.1.0

11 Feb 04:53
Compare
Choose a tag to compare
  • Fixed en passant capture takebacks
  • Linted files

v1.0.2

10 Feb 22:26
Compare
Choose a tag to compare
  • Added Piece.pinLine() function
    Piece.pinLine() -> False | Line
    
    The line in which the piece is pinned, or False if the piece is not pinned
  • Added Piece.pinned variable
    Piece.pinned: bool
    
    Whether the piece is pinned or not
  • Added Piece.pinning variable
    Piece.pinning: Optional[Type]
    
    None if the piece is not pinning another piece, otherwise the pinned piece
  • Added blocks parameter to Move( )
    Move(
      ...promotion: bool = False,
      blocks: bool = False
    )
    
    Whether the move is blocking a check
  • Added Move.blocks variable
    Move.blocks: bool
    
    The blocks parameter

v1.0.1

10 Feb 18:08
Compare
Choose a tag to compare
  • Added en passant captures
  • Updated Move.is_capture variable

v1.0.0

09 Feb 00:39
Compare
Choose a tag to compare
  • Added Crazyhouse( ) class
    Crazyhouse extends Game(
      fen: str = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",
      raise_errors: bool = True,
      evaluate_openings: bool = False,
      pieces: Type = CrazyhousePiece
    )
    
    The crazyhouse chess variant
  • Updated README.md
  • Updated functions.toSAN() function
  • Added promoted property to Piece class
    promoted: bool = False
    If the piece is a promoted pawn
  • Updated ThreeCheck( ) class

v0.3.15.dev1

08 Feb 23:42
Compare
Choose a tag to compare
v0.3.15.dev1 Pre-release
Pre-release
  • Created functions.toLAN() function
    functions.toLAN(
      move: str,
      game: Game
    ) -> str
    
    Returns the given move in long algebraic notation
  • Updated functions.toSAN() function

v0.3.15.dev0

28 Jan 20:43
Compare
Choose a tag to compare
v0.3.15.dev0 Pre-release
Pre-release
  • Optimized Game.legal_moves() function
  • Optimized Game.updateOpening() function
  • Added check detection in Game.takeback() function
  • Added evaluate_openings and evaluate_checks parameters in Game.takeback()
    Game.takeback(
      self,
      evaluate_openings: bool = True,
      evaluate_checks: bool = True
    ) -> None
    
  • Updated Game.loadFEN() function

v0.3.14-dev

24 Jan 18:12
Compare
Choose a tag to compare
v0.3.14-dev Pre-release
Pre-release
  • Updated openings
  • Updated minified_chess.py

v0.3.13-dev

24 Jan 01:12
Compare
Choose a tag to compare
v0.3.13-dev Pre-release
Pre-release
  • Added argument type hints in function docstrings
  • Added base exception errors.Error parenting all other error.* exceptions
    error.Error(
      message: str
    )
    
  • Changed enumeration all() static method return values to tuples
  • Removed unused square local variable in some .visualized() functions
  • Moved fen argument of Game().__init__() function to position 0
    Game(
      fen: str = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",
      raise_errors: bool = True...
    )
    
  • Added return True statement at the end of Game.loadPGN()
  • Updated Game.move() function
  • Optimized Game.materialDifference() function
  • Updated signature of variant class __init__() methods
  • Updated Antichess.move() function
  • Added KingOfTheHill( ), RacingKings( ), and Atomic( ) classes