Sage v2.0.0 Release Notes
Release Date: 2016-07-17 // almost 8 years ago-
๐ Release
โจ 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()
- Properties:
Board
initializer from arrays of piece charactersBoard(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 aKind
type- Values such as
isKing
andrelativeValue
now belong toKind
- Values such as
The argument-less
bitboard()
method forBoard
has been changed tooccupiedSpaces
Replaced
Game.Mode
with twoPlayer
instances for a game
๐ Fixes
๐ Calling
redoMove()
would sometimes cause a crash if theGame
instance had no available moves (e.g. was over).The
Board
playground view for iOS and tvOS was flipped verticallycanPromote(_:)
forPiece
didn't take king into accountโช Castling rights weren't restored in
undoMove()
๐
execute(move:)
didn't check the promotion piece's kind