7.1.0 - Release Date 11/07/2021
Added: widget step options can be flattened directly inside the widget object.
Minor fixes and improvements to widgets.
7.0.4 - Release Date 10/23/2021
Added: new design for survey widgets.
Added: game sequence is decided by the game room, allowing different sequences in different treatments.
Added: new authorization mode "external" for ids provided by a third party upon connection.
Added: "stepId" and "stageId" added to all DONE messages (because game sequence is treatment dependent).
Added: "treatment" added to every entry in the memory database.
Added: client errors on DEBUG mode are displayed on overlay div.
Added: new alias node.on.done('stageId.stepId').
Added: new method stager.require allows splitting complex game sequences across different files.
Added: memory database's new methods: stream, journal, loadDir, and more.
Added: memory database supports NDJSON format.
Added: easy export from JSON and NDJSON to csv logs and results via command-line and monitor interface.
Added: new widgets Consent, SDO (Social Dominance Orientation), and GroupMalleability.
Added: new option for waitroom treatment selection "treatment_latin_square".
Added: waitroom can dispatch to remote servers.
Added: error box with error messages directly under survey widgets.
Improved: overhauled monitor interface based on Bootstrap 5.
Improved: widgets .append() adjust frame heights.
Improved: frame is displayed at once after all changes in the step callback have taken place.
Improved: node.timer methods can be chained.
Improved: Memory database: default header for CSV files.
Improved: WaitScreen texts fully parameterized (thanks jjensenius3).
Improved: cells in ChoiceTables are of equal size by default.
Improved: VisualStage widget accept functions that return the name of the step.
Fixed: auto scroll-up of frames between steps.
Fixed: multiple monitors disconnect bug.
Fixed: several minor bug fixes.
Updated: Bootstrap 5.x (partial).
Updated: 4.x
Updated: Winston 3.x
Dropped: PhantomJS support, option --phantoms and ServerChannel.connectPhantom raise a warning.
6.3.0 - Release Date 04/08/2021
Added: stager.extendSteps and stager.extendStages
Added: --no-games option to installer.
Improved several widgets.
Improved: Info Panel.
Improved: stager.skip, stager.unskip accept arrays.
Modified: flag missValues returned by widgets does not block stepping.
Modified: DONE event is async with respect to, to let all DONE listeners finish first.
Modified: InfoPanel creation automatically adds the toggle button.
Fixed: stager.stepBlock and stager.stageBlock no longer raise wrong errors under some special conditions.
Fixed: renderTemplate bug when auth is on (thanks jjensenius3).
Fixed: automatic pwd generation (thanks jjensenius3).
Fixed: several minor bug fixes.
Deprecated: stager.stepBlock and stager.stageBlock will only accept two parameters in future releases.
6.2.0 - Release Date 02/09/2021
WaitRoom CHOSEN_TREATMENT receives number of dispatches in callback.
WaitRoom ROTATION_OFFSET offsets the begin of rotation when "treatment_rotate" is chosen.
WaitRoom "treatment_rotate" option uses number of dispatches to rotate instead of room counter, because room counter is not always increased when DISPATCH_TO_SAME_ROOM option is true.
6.2.4 - Release Date 02/10/2021
Window correctly adjusts frame height including images loaded after frame is loaded.
Fixed launcher's "default" option.
6.2.0 - Release Date 02/09/2021
WaitRoom CHOSEN_TREATMENT receives number of dispatches in callback.
WaitRoom ROTATION_OFFSET offsets the begin of rotation when "treatment_rotate" is chosen.
WaitRoom "treatment_rotate" option uses number of dispatches to rotate instead of room counter, because room counter is not always increased when DISPATCH_TO_SAME_ROOM option is true.
6.1.1 - Release Date 02/07/2021
WaitRoom "DISPATCH_TO_SAME_ROOM" creates a new room for every chosen treatment.
VisualRound widget preprocess function.
Widgets are destroyed upon exiting steps.
Widgets can prevent scrollIntoView behavior in widget steps.
Fixed auto scroll up at every new step for Window.
Fixed RiskGauge Bomb method when probability less than one and bomb not found.
Fixed hint of Slider widget
Fixed CSS styling Info Panel.
Fixed CSS warning in JS console.
Minor fixes.
6.0.3 - Release Date 10/30/2020
Fixed corrupted build in 6.0.2 (thanks jjensenius3).
6.0.2 - Release Date 10/29/2020
Fixed the create-game bug missing private folder (thanks jjensenius3).
6.0.1 - Release Date 10/29/2020
Option port can be specified at command line.
Minor bug fixes and improvements.
  • Single-player template when creating new games.
  • Minor fixes and better error handling.
  • GameRoom API improved new method updateWin and more options for computeBonus.
  • Log messages containing errors are displayed to console.
  • Updated and Express dependencies.
  • Channels can be disabled in channel.settings.js file.
  • New Timer API for random events and timeouts.
  • New Game methods: isStep, isStage, isRound, isWidgetStep, getStepId, getStageId.
  • Improved default reconnection mechanism: role and partner automatically set, default reconnect callback resending game messages from same step.
  • Role, partner, and session automatically added to database entry.
  • Simplified node.done (accepts only one parameter, removed backword-compatible checks).
  • Improved CSV saving support with options to keep files updated.
  • Auto-scroll into widgets required user's action.
  • New method Widget.isActionRequired.
  • Required widgets can block node.done, even if not widget-steps.
  • New risk-elicitation widget: RiskGauge has Bomb method.
  • Several improvements to existing widgets.
Window: auto-scroll up when loading a new frame.
5.11.0 - Release Date 08/20/2020
Bug fix introduced in previous version: stage init callback executed at every step.
Bug fix: ChoiceTable and correctChoice equal zero.
GamePlot.getProperty updated to specify search location.
5.10.1 - Release Date 08/13/2020
Info Query: added ?q=waitroom parameter for getting info about game rooms.
Info Query: enabled support for any query (not just ?q=).
VisualStage Widget: added option replaceUnderscore.
Fixed bug when loading levels.
Several small bug fixes and improvements.
5.9.0 - Release Date 03/31/2020
Slider widget (both for selection and real-effort task).
DoneButton improved (prevents accidental double clicks).
ContentBox widget improved (hint option).
5.8.1 - Release Date 01/30/2020
Fixed autoplay client type in ultimatum game.
ChoiceTable widget ignores "correct" in setValues method, if there is no correct choice (instead of throwing an error).
ChoiceTable widget option "oneTimeClick".
5.8.0 - Release Date 01/21/2020
GameRoom.computeBonus separates AMT from and standard values; option headerKeys is deprecated.
nodegame-mturk does not grant bonuses for disconnected players.
Game.stepBack method is added as a central point to control stepping back into the game sequence.
Game.getPreviousStep method accepts additional paramters.
5.7.0 - Release Date 01/17/2020
GameRoom.computeBonus handles disconnected players.
Fixed bug not executing the exit callback of widget steps.
5.6.4 - Release Date 01/16/2020
ChoiceTableGroup widget correctly distinguishes between options listener and onclick.
ChoiceTable widget improved: accepts objects as choices option and added sortValue option for getValues method.
EndScreen widget displays any winning value (removed constrained > 0).
5.6.3 - Release Date 01/10/2020
BackButton widget correctly hadles multiple back calls.
5.6.2 - Release Date 01/09/2020
Client property "win" is initialized to zero in every client.
Updated RiskGauge widget with new options "values" and "scale".
Minor fixes.
5.6.1 - Release Date 12/20/2019
Fixed experimental feature to update waiting room settings from monitor interface. Feature remains experimental.
5.6.0 - Release Date 12/15/2019
New Widgets: CustomInputGroup, RiskGauge, ContentBox.
Widgets improvements: Chat displays is user 'is typing'; DoneButton auto-disable upon disconnection; CustomInput text types can exclude numbers; DisconnectBox includes more options and an updated display.
New options for `gameRoom.computeBonus()` method.
Dictator game template improved.
Auto adjusting of frame height can be disabled.
Done callback of widget steps does not overwrite node.done parameters when return value is undefined.
Several small bug fixes.
5.4.0 - Release Date 05/13/2019
Upgraded VisualStage widget: two visualizations modes, and rounds count.
Table class renders cells with colspan attribute.
Home Page enabled and --default option bug fixed.
5.3.1 - Release Date 05/07/2019
Launcher option `--default` sets the default channel at startup. Channel settings `defaultChannel` has been deprecated because unreliable when multiple games are found in games folder.
Improved installer, better handling of conflicts with pre-existing node_modules directories.
Widget CustomInput implements setValues method with random values for testing purposes.
Widget CustomInput widget has more custom types: 'us_state', 'us_zip'.
Widget ChoiceManager discard hidden or disabled nested forms from the return value of `getValues`.
Widget ChoiceManager has reset method to reset all nested forms.
`W.cssRule` is a method to add a custom CSS rule to the current page.
`node.widgets.append` also accepts the id of and element, in addition to the element itself.
All "Survey" widgets (ChoiceManager, ChoiceTable, CustomInput, etc.) have options `highlight` and `markAttempt` true by default.
Improved error messages on server.
Typos and bug fixing.
5.1.0 - Release Date 04/01/2019
CustomInput widget.
Widgets garbage collection.
Improved ChoiceTable, ChoiceManager and Feedback widgets.
Improved handling of frame height.
5.0.1 - Release Date 03/15/2019
Fixed VisualTimer.restart() bug introduced in v5.
Server does not scan hidden directories in games folder.
5.0.0 - Release Date 03/12/2019
Several improvements to the Monitor interface, including: chat manager, better display of room info, and improved performance.
Rewritten Chat widget for easier control and friendlier user interface
New widgets: BackButton, BoxSelector, and DebugWall
Updated widgets: WaitingRoom, DisconnectBox, ChoiceTable, ChoiceManager
Widgets events: 'destroyed', 'collapsed', 'uncollapsed', 'hidden', 'shown', 'disabled', 'enabled', 'highlighted', 'unhighlighted'.
Widgets can be docked at the bottom of the page, minimized or closed.
New Waiting Room execution mode `WAIT_FOR_DISPATCH` to dispatch following a command from the monitor interface (ideal for Lab experiments).
Improved installer, more reliability checks and easier way to install older versions.
Several minor fixes and improvements, see CHANGELOG files in each repo.
4.3.2 - Release Date 09/30/2018
Re-enabled support for games without treatment descriptions.
4.3.0 - Release Date 09/20/2018
Treatment selection in waiting room. If option "ALLOW_SELECT_TREATMENT" is set to true in the waiting room's settings, then dropdown menu allows user to select the treatment for the game.
4.2.0 - Release Date 09/14/2018
Improved nodegame game-create command: automatically generates generates channel files from interface, adds README and LICENSE (MIT)
4.1.5 - Release Date 09/13/2018
Fixed installer for Node version < 8.x
4.1.3 - Release Date 09/07/2018
Improved installer
Msg anti-spoofing support by default enabled on PlayerServer
Fixed bug on Chrome with flickering scrollbar
More options on Monitor, including display of last error
Improved nodegame-mturk support
Fixed tests
4.0.4 - Release Date 07/05/2018
Improved monitor interface: errors happened on clients displayed directly on Clients List widget.
4.0.0 - Release Date 04/22/2018
All available games are displayed in a grid of responsive cards in the server home page.
New game interface with slim header occupying less space.
Customizable drop-down InfoPanel to easily display and hide information under the header.
New widgets: EndScreen, Feedback, EmailForm.
New widget features: add/remove widget rame, setTexts/Sounds, improved WaitingRoom
Wait screen displays a countdown of maximum wait time.
New GameRoom.computeBonus method to easily save a bonus file and send bonus to each player.
New channel settings for controlling data directory, and noAuth tokens
Client types declaration has been streamlined, no need to return a client type object, it is now automatically assembled from the stager and and the setup object.
Views receive now the correct settings object depending on treatment.
New matcher features: canMatchSameRole, fixedRoles.
Window object has updated to the latest version of JSUS, meaning that some commands to manipulate and create DOM elements have changed.
Full list of new features and migration guidelines.