- When creating notation illegal moves are now also considered - changes notation output.
- Moved
kif
andcsa
tonotation
directory directly. - Added
scalashogiCharPair
function. - Files are now compiled into
/esm/
directory. .d.ts.map
is now generated for every file.
- Fixed
chushogi
bug where second move of falcon/eagle was not respecting the lion recapture rule.
- Fixed
chushogi
bug where non-Lion double movers making a mid-step Lion capture was not preventing Lion counterstrike.
- Fixed
annanshogi
move generation.
- Renamed
Move
toMoveOrDrop
, laterNormalMove
will be renamed toMove
andDropMove
to justDrop
. isNormal
was renamed toisMove
.lastMove
inPosition
andSetup
was renamed tolastMoveOrDrop
.- Many functions containing the word 'move' were renamed to include the word 'drop', such as changing
makeWesternMove
tomakeWesternMoveOrDrop
.
- Fix recognizing pawn drop checkmate for
checkshogi
. - Bump dependencies.
- New variant -
checkshogi
. - Result
kinglost
changed tokingslost
- used for chushogi.
- Fix a bug in annan shogi move generation.
- Accept lowercase CSA pieces.
- Allow underscores and multiple spaces in SFEN.
- Fix parsing USI drop with tokin - kyotoshogi
- Kyotoshogi fixes and tweaks - kif, notation, promotion, usi requires promotion now.
- In kif add variant name tag for variants from custom positions.
- Uwate/shitate in kif for games from handicap positions.
- New variant -
kyotoshogi
. - Renamed
annan
toannanshogi
andAnnan
toAnnanshogi
.
- Added
handicaps
,findHandicaps
,findHandicap
andisHandicap
in filehandicaps.ts
for various variants, replaceskif/kifHandicaps.ts
, which was removed. - Varioud changes/fixes for kif of non-standard positions - hard to find any standardized way of handling this.
- Add new variant support Annan shogi.
- Rename
makeHand
andmakeHands
tomakeHandSfen
andmakeHandsSfen
respectively. - Rename
makeSquare
tomakeSquareName
. - Rename
parseSquare
toparseSquareName
. - No longer validate impossible check position (
ERR_IMPOSSIBLE_CHECK
), these positions are now considered valid, they can't happen in a real game, but no reason to prevent them altogether.
- Remove
lastCapture
and replace it withlastLionCapture
that takes into account only lion captures by non-lion pieces. - Fix jitto being considered a capture.
- Make lastMove and lastLionCapture in setup optional.
- Fix
moveToSquareNames
to include midStep if it's present.
makeKifHeader
returns empty string for default chushogi position.- Remove '平手' from
handicapNameToSfen
- Change default minishogi kif handicap name to '5 五将棋'.
- Rename
checkSquareName
tochecksSquareNames
. - Kif chushogi format tweaked - smaller.
- Fix exported files in
package.json
- Support for chushogi kif header and moves
- Chushogi support added.
- Files moved around - new variant directory, also reorganized and tweaked variant hierarchy.
- In strict mode while parsing sfen both sides have to have a royal piece.
- Drop dests for shogiground are now always return all pieces as keys, you can't select only one piece.
- More specific variant types returned.
- Renamed notationUtil.ts -> util.ts.
- Renamed variantUtil.ts -> util.ts.
- Renamed hand.ts -> hands.ts.
- Reintroduce
Setup
ininitializePosition
. pieceCanPromote
now requires another argument -capture
.- Renamed
pieceInDeadZone
topieceForcePromote
. - Key of drop dests is now
PieceName
('sente rook') not role. - Rename
fullmoves
tomoveNumber
. - Rename
dests
tomoveDests
. - Remove
variantEnd
andvariantOutcome
. - Remove
backrank
andsecondBackrank
functions. Map
used inBoard
instead of properties, useboard.role('role')
orboard.color('color')
.Map
used inHands
instead of properties.- Attack functions changed - check argument order.
roleToString
andstringToRole
was removed, use functions in Sfen.- New
Result
andOutcome
types.
- Remove
isImpasse
, wasn't used, doesn't account for handicaps, and uses only a specific rule anyway - might not be what people expect.
- SFEN consts were removed, now use
initialSfen(rules)
. promote
returns undefined for roles that can't be promoted.unpromote
returns undefined for roles that can't be unpromoted.
- Remove
Setup
, usePosition
instead.ParseSfen
and similar functions now require rules as the first parameter. - Remove
dimensions
fromBoard
. - Rename rules 'shogi' to 'standard'.
- Rewrite
Squareset
to support boards upto 16x16. - Remove transform functions.
- Remove
scalaShogiCharPair
. - Switch from CommonJS to ES Module.
- Changelog started.