All Versions
11
Latest Version
Avg Release Cycle
8 days
Latest Release
1468 days ago

Changelog History
Page 1

  • v2.5.2

    September 22, 2016

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fixes issue regarding legal move generation for king in check due to error in moves available for the attacking piece
  • v2.5.1

    August 18, 2016

    ๐Ÿ›  Fixes

    • Swift 3 preview 6 and Xcode 8 beta 6 compatibility
  • v2.5.0

    August 17, 2016

    ๐Ÿ†• New Features

    • โž• Added pinned(for:) method to Board

    • โž• Added between(_:), isBetween(start:end:) and line(with:) methods to Square

    • โž• Added hasMoreThanOne to Bitboard

    โœจ Enhancements

    • ๐Ÿšš Made legal move generation/checking faster for king pieces

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fixed conditions for castling so that a king cannot castle in check and it can't castle through squares that are being attacked
  • v2.4.1

    August 08, 2016

    ๐Ÿ›  Fixes

    • Swift 3 preview 4 and Xcode 8 beta 4 compatibility
  • v2.4.0

    August 06, 2016

    ๐Ÿ†• New Features

    • โž• Added init(position:whitePlayer:blackPlayer:variant:) to Game

    โœจ Enhancements

    • ๐ŸŽ Greatly improved performance of attackers(to:color:) method for Board

    • ๐Ÿ‘Œ Improved performance for pieceCount(for:) for Board

    • ๐Ÿ‘Œ Improved performance for contains(_:) for Bitboard

  • v2.3.0

    August 01, 2016

    ๐Ÿ†• New Features

    • โž• Added captureForLastMove to Game
  • v2.2.0

    July 30, 2016

    ๐Ÿ†• New Features

    • โž• Added execute(uncheckedMove:) family of methods to Game

    • โž• Added initializer with moves array to Game

    โœจ Enhancements

    • ๐Ÿ‘Œ Improved performance for bitboard(for color: Color) method for Board
  • v2.1.0

    July 24, 2016

    ๐Ÿ†• New Features

    • โž• Added static white, black, kingside, and queenside constants to CastlingRights and CastlingRights.Right

    • โž• Added canCastle(for:) methods to CastlingRights that take a Color or Board.Side

    • โž• Added init(color:) and init(side:) to CastlingRights

  • v2.0.1

    July 21, 2016

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fixed Xcode 8 beta 3 warnings for guard statements
  • v2.0.0

    July 17, 2016

    โœจ Enhancements

    • ๐ŸŽ Performance greatly improved when performing operations with Board

    ๐Ÿ†• New Features

    • Most significant bit operations to Bitboard:

      • Properties: msb, msbIndex, msbSquare
      • Methods: popMSB(), popMSBIndex(), popMSBSquare()
    • Board initializer from arrays of piece characters

      Board(pieces: [["r", "n", "b", "q", "k", "b", "n", "r"],
                     ["p", "p", "p", "p", "p", "p", "p", "p"],
                     [" ", " ", " ", " ", " ", " ", " ", " "],
                     [" ", " ", " ", " ", " ", " ", " ", " "],
                     [" ", " ", " ", " ", " ", " ", " ", " "],
                     [" ", " ", " ", " ", " ", " ", " ", " "],
                     ["P", "P", "P", "P", "P", "P", "P", "P"],
                     ["R", "N", "B", "Q", "K", "B", "N", "R"]])
      
    • ๐Ÿ“œ Parsing PGN string data with PGN(parse:)

    • Exporting PGN string data with exported()

    • ๐Ÿ†• New Player struct

    ๐Ÿ’ฅ Breaking Changes

    • Piece has been changed to a struct type with nested a Kind type

      • Values such as isKing and relativeValue now belong to Kind
    • The argument-less bitboard() method for Board has been changed to occupiedSpaces

    • Replaced Game.Mode with two Player instances for a game

    ๐Ÿ›  Fixes

    • ๐Ÿšš Calling redoMove() would sometimes cause a crash if the Game instance had no available moves (e.g. was over).

    • The Board playground view for iOS and tvOS was flipped vertically

    • canPromote(_:) for Piece didn't take king into account

    • โช Castling rights weren't restored in undoMove()

    • ๐Ÿšš execute(move:) didn't check the promotion piece's kind