Skip to content
This repository has been archived by the owner on Mar 15, 2020. It is now read-only.

Latest commit

 

History

History
483 lines (301 loc) · 18.1 KB

CHANGELOG.md

File metadata and controls

483 lines (301 loc) · 18.1 KB

v0.26.3

Features

Bugfixes

  • [58e135b] fix bug that was causing ctx.events to be undefined
  • [ea3754b] player needs to be in actionPlayers in order to call events

v0.26.2

Features

  • [a352d1e] decouple once and allOthers

v0.26.1

Bugfixes

  • [aa5f2cf] added the useNewUrlParser option to the Mongo connect() (#285)

v0.26.0

Features

  • [e8f165a] server: add new API endpoints 'list' and 'leave' (#276)
  • [8ff4745] drag-n-drop for cards and decks
  • [a558092] return state as first argument to client.subscribe callback
  • [965f9b7] Allow to set payload onto a log event (#267)
  • [2efdbc1] utils for working with hexagonal boards (#271)
  • [137dd7c] allow overriding client-side transport
  • [63311ac] local game master
  • [0b7a0a0] add allOthers option to setActionPlayers (#269)

Bugfixes

  • [d1a1a8a] shouldEndPhase can see the results of onTurnEnd
  • [b4874a6] call the client subscribe callback after LogMiddleware has run
  • [9b9d735] reset deltalog properly

v0.25.5

Features

  • [4ed6b94] add server startup message
  • [1688639] decouple transport layer from server logic

v0.25.4

Bugfixes

  • Fixed babelHelpers error in npm.

v0.25.3

Broken, do not use (complains about babelHelpers missing).

Bugfixes

  • [ebf7e73] fix bug that was preventing playerID from being overriden by the debug ui

v0.25.2

Bugfixes

  • [a42e07b] npm audit fix --only=prod
  • [cfe7296] update koa and socket.io

v0.25.1

Bugfixes

  • [09b523e] require mongo and firebase only if used

v0.25.0

Features

  • [fe8a9d0] Added ability to specify server protocol (#247)
  • [43dcaac] write turn / phase stats in ctx.stats
  • [bd8208a] fabricate playerID in singleplayer mode
  • [b4e3e09] { all: true } option for setActionPlayers
  • [5d3a34d] { once: true } option for setActionPlayers
  • [75a274c] rename changeActionPlayers to setActionPlayers
  • [4ec3a61] end phase when a turn order runs out
  • [cb6111b] retire the string constant 'any'
  • [36fc47f] basic support for objective-based AI
  • [d1f0a3e] improved rendering of turns and phases in the log
  • [0bc31d6] better MCTS visualization
  • [14a5ad7] update redux to 4.0.0

Bugfixes

  • [84f07c6] Do not fabricate playerID for playerView
  • [c4a11a7] ignore events from all but currentPlayer
  • [6a8b657] move mongodb and firebase deps to devDependencies
  • [239f8dd] Use parse/stringify from flatted lib to support circular structures (fixes #222) (#240)
  • [edd1df0] Differentiate automatic game events in the log
  • [570f40e] don't render AI metadata if visualize is not specified
  • [a8431c7] set default RNG seed once per game, not game type
  • [5090429] API: check secret before handling the request (#231)
  • [1a24791] attach events API early so that it can be used on the first onTurnBegin
  • [acb9d8c] enable events API in initial onTurnBegin/onPhaseBegin

Breaking Changes

  • changeActionPlayers is now setActionPlayers. It also supports more advanced options.
  • Returning undefined from a TurnOrder results in the phase ending, not setting currentPlayer to any.
  • Only the currentPlayer can call events (endTurn, endPhase etc.).

v0.24.0

Features

  • [b28ee74] ability to change playerID from Debug UI
  • [fe1230e] Firebase integration (#223)

v0.23.3

Bugfixes

  • [6194986] remove async/await from client code

v0.23.2

Bugfixes

  • [7a61f09] make Random API present in first onTurnBegin and onPhaseBegin

Features

v0.23.1

Bugfixes

  • [f26328c] add ai.js to rollup config

v0.23

Features

Bugfixes

  • [7a80f66] make changeActionPlayers an opt-in event
  • [40cd4b8] Add config update on phase change Fixes #211 (#212)

v0.22.1

Bugfixes

  • [bb39ca7] fix bug that was causing isActive to return false
  • [81ed088] ensure endTurn is called only once after a move
  • [ca9f6ca] disable move if playerID is null

v0.22.0

Features

  • [5362955] React Native Client (#128)
  • [b329df2] Pass through props (#173)

v0.21.5

Bugfixes

  • [55715c9] Fix undefined ctx in onPhaseBegin

v0.21.4

Features

  • [387d413] Debug UI CSS improvements
  • [2105f46] call endTurnIf inside endPhase
  • [9b0324c] allow setting the next player via endTurn
  • [f76f97e] correct isMultiplayer

Bugfixes

  • [278b369] Fix bug that was ending phase incorrectly (#176)

v0.21.3

Features

  • [dc31a66] expose allowedMoves in ctx
  • [da4711a] make allowedMoves both global and phase-specific
  • [9324c58] Allowed moves as function (#164)

Bugfixes

  • [5e49448] convert multiplayer move whitelist to blacklist

v0.21.2

Bugfixes

  • [27705d5] pass Events API correctly inside events.update

v0.21.1

Bugfixes

  • [87e77c1] correctly detach APIs from ctx in startTurn

v0.21

Features

  • [2ee244e] Reset Game (#155)
  • [9cd3fdf] allow to modify actionPlayers via Events (#157)
  • [767362f] endGame event
  • [78634ee] Events API
  • [a240e45] undoableMoves implementation (#149)
  • [c12e911] Process only known moves (#151)
  • [7fcdbfe] Custom turn order (#130)
  • [748f36f] UI: add mouse hover action props to grid, hex, and token (#153)
  • [f664237] Add notion of actionPlayers (#145)

v0.20.2

Features

  • [43ba0ff] allow optional redux enhancer (#139)
  • [dd6c110] Run endPhase event (analogue to endTurn) when game ends (#144)

Bugfixes

  • [8969433] Fix bug that was causing Random code to return the same numbers.

Breaking Changes

  • The Random API is different. There is no longer a Random package that you need to import. The API is attached to the ctx parameter that is passed to the moves. Take a look at http://boardgame.io/#/random for more details.

v0.20.1

Bugfixes

v0.20

Features

v0.19

Features

  • MongoDB connector
    • [eaa372f] add Mongo to package
    • [63c3cdf] mongo race condition checks
    • [65cefdf] allow setting Mongo location using MONGO_URI
    • [557b66c] add run() to Server
    • [2a85b40] replace lru-native with lru-cache
    • [003fe46] MongoDB connector

Breaking Changes

  • boardgame.io/server no longer has a default export, but returns Server and Mongo.
// v0.19
const Server = require('boardgame.io/server').Server;
// v0.18
const Server = require('boardgame.io/server');

v0.18.1

Bugfixes

[0c894bd] add react.js to rollup config

v0.18

Features

  • [4b90e84] decouple client from React

This adds a new package boardgame.io/react. Migrate all your calls from:

import { Client } from 'boardgame.io/client'

to:

import { Client } from 'boardgame.io/react'

boardgame.io/client exposes a raw JS client that isn't tied to any particular UI framework.

  • Random API:

    • [ebe7758] allow to throw multiple dice (#120)
    • [8c88b70] Simplify Random API (#119)
    • [45599e5] Server-side array shuffling. (#116)
    • [d296b36] Random API (#103)
  • [f510b69] onTurnBegin (#109)

Bugfixes

  • [6a010c8] Debug UI: fixes related to errors in arguments (#123)

v0.17.2

Features

  • [0572210] Exposing Client connection status to board. (#97)
  • [c2ea197] make db interface async (#86)
  • [9e507ce] exclude dependencies from package

Bugfixes

  • [a768f1f] remove entries from clientInfo and roomInfo on disconnect

v0.17.1

Features

  • [f23c5dd] Card and Deck (#74)
  • [a21c1dd] prevent endTurn when movesPerTurn have not been made

Bugfixes

  • [11e215e] fix bug that was using the wrong playerID when calculating playerView

v0.17.0

Features

  • [0758c7e] cascade endPhase
  • [cc7d44f] retire triggers and introduce onMove instead
  • [17e88ce] convert events whitelist to boolean options
  • [e315b9e] add ui to NPM package
  • [5b34c5d] remove pass event and make it a standard move
  • [f3da742] make playerID available in ctx
  • [cb09d9a] make turnOrder a globally configurable option

v0.16.8

Features

  • [a482469] ability to specify socket server

Bugfixes

  • [2ab3dfc] end turn automatically when game ends

v0.16.7

Bugfixes

  • [c65580d] Fix bug introduced in af3a7b5.

v0.16.6

Bugfixes

  • [af3a7b5] Only process move reducers (on the client) and nothing else when in multiplayer mode.

Buggy fix (fixed in 0.16.7).

Features

  • [2721ad4] Allow overriding db implementation in Server.

v0.16.5

Features

  • PlayerView.STRIP_SECRETS

v0.16.4

Bugfixes

  • endPhaseIf is called after each move (in addition to at the end of a turn).
  • gameID is namespaced on the server so that there are no clashes across game types.

Breaking Changes

  • props.game is now props.events (to avoid confusing it with the game object).
// OLD
onClick() {
  this.props.game.endTurn();
}

// NEW
onClick() {
  this.props.events.endTurn();
}

v0.16.3

Features

  • Multiple game types per server!

Breaking Changes

  • Server now accepts an array games, and no longer takes game and numPlayers.
const app = Server({
  games: [ TicTacToe, Chess ]
};

v0.16.2

Bugfixes

  • [a61ceca]: Log turn ends correctly (even when triggered automatically by endTurnIf)

Features

  • [9ce42b2]: Change color in GameLog based on the player that made the move.

v0.16.1

Bugfixes

  • [23d9726]: Fix bug that was causing log to be erased after flow.processMove.

Features

v0.16.0

Features

Breaking Changes

  • boardgame.io/game is now boardgame.io/core, and does not have a default export.
  • boardgame.io/client no longer has a default export.
// v0.16
import { Game } from 'boardgame.io/core'
import { Client } from 'boardgame.io/client'
// v0.15
import Game from 'boardgame.io/game'
import Client from 'boardgame.io/client'
  • victory is now endGameIf, and goes inside a flow section.
  • The semantics of endGameIf are subtly different. The game ends if the function returns anything at all.
  • ctx.winner is now ctx.gameover, and contains the return value of endGameIf.
  • props.endTurn is now props.game.endTurn.