Changelog
- 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: Socket.io 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 node.game.step, 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.
- Generator:
- Single-player template when creating new games.
- Minor fixes and better error handling.
- Server:
- GameRoom API improved new method updateWin and more
options for computeBonus.
- Log messages containing errors are displayed to console.
- Updated Socket.io and Express dependencies.
- Channels can be disabled in channel.settings.js file.
- Client:
- 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).
- NDDB:
- Improved CSV saving support with options to keep
files updated.
- Widgets:
- 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.