mirror of
https://github.com/lichess-org/dartchess.git
synced 2026-05-26 13:51:01 +00:00
3.3 KiB
3.3 KiB
0.13.0
Breaking changes:
- Remove
fast_immutable_collectionsdependency. Public APIs that previously returnedIMaporIListnow return standard Dart collections:Position.legalMovesreturnsMap<Square, SquareSet>(wasIMap<Square, SquareSet>)Board.materialCountreturnsByRole<int>/Map<Role, int>(wasIMap<Role, int>)Castles.rooksPositionsreturnsBySide<ByCastlingSide<Square?>>/Map(wasIMap-backed)Castles.pathsreturnsBySide<ByCastlingSide<SquareSet>>/Map(wasIMap-backed)PgnComment.shapesreturnsList<PgnCommentShape>(wasIList<PgnCommentShape>)makeLegalMoves()returnsMap<Square, Set<Square>>(wasIMap<Square, ISet<Square>>)- The
BySide<T>,ByRole<T>, andByCastlingSide<T>typedefs are now aliases for standardMaptypes.
Pockets.valueis removed; usePockets.of(side, role),Pockets.count(role),Pockets.size,Pockets.hasQuality(side), andPockets.hasPawn(side)instead.
0.12.3
- Fix
Crazyhouse.isGameOverandCrazyhouse.isCheckmatein positions where all legal moves are drop moves.
0.12.2
- Add
SquareSet explosionSquares(Move move)method to Atomic class.
0.12.1
- Fix a bug in
Horde.hasInsufficientMaterialthat would cause a stack overflow if only one pawn was left. - Fix insufficient material detection when the Horde has a lone Queen.
- Horde positions where the king is white instead of black are now correctly considered invalid.
0.12.0
- Fix an en passant bug in crazyhouse and atomicchess variants. Now the perft tests cover these variants as well.
0.11.1
- Add the current FEN information to
PlayExceptionmessages.
0.11.0
- Rename
makeLegalMoveparameterisChess960toincludeAlternateCastlingMovesand invert its meaning. It now defaults tofalse.
0.10.0
- Remove the type parameter from
Positionclass. - Update dependencies.
0.9.2
- Fixes castling rights parsing from FEN.
- The FEN parser and writer now preserve syntactically valid castling rights even if there is no matching rook or king. Rename
unmovedRookstocastlingRights.
0.9.1
- Fixes bugs in the PGN parser.
0.9.0
PieceKindis now an enum.
0.8.0
Breaking changes:
Squareis now an extension type.- Introduce
FileandRanktypes.
Bug fixes:
- Fix
Position.isLegalthat was generating illegal king moves. - Fix
Position.normalizeMovethat could turn an illegal move into a legal castling move.
0.7.1
- Add Piece.kind, Role.letter and Role.uppercaseLetter getters.
0.7.0
- Migrate SquareSet to an extension type.
0.6.1
- Upgrade fast_immutable_collections to version 10.0.0.
0.6.0
- Rename Rules to Rule and add rule getter to Position
0.5.1
- Fix parsing PGN from smartchess
0.5.0
- Add new
plygetter toPosition PgnNodeDatais no longer specified as immutable- Make
PgnCommentreally immutable
0.4.0
- Add
PgnNodeDataas a bound toPgnNodegeneric type parameter
0.3.0
- rename
HeaderstoPgnHeadersfor consistency PgnGameisn't a const constructor anymore- tweak
parseMultiGamePgnsignature for consistency
0.2.0
- add
makeSanandmakeSanUncheckedmethods to thePositionclass. toSanandplayToSanare now deprecated.
0.1.0
- Initial version.