mirror of
https://github.com/jspsych/jsPsych.git
synced 2025-05-11 16:18:11 +00:00
7.4 KiB
7.4 KiB
jspsych
7.1.2
Patch Changes
- #2380
5159e0eb
Thanks @jodeleeuw! - Fixed the case wheresimulation_options
is a function that returns a string for looking up corresponding options in the simulate settings.
7.1.1
Patch Changes
- #2376
01f8a373
Thanks @jodeleeuw! - Fixed the default case forjsPsych.simulate()
when no simulation_mode is specified. Now properly runs in data-only mode.
7.1.0
Minor Changes
- #2350
c81b5007
Thanks @jodeleeuw! - Added microphone related features to thepluginAPI
module:initializeMicrophoneRecorder()
andgetMicrophoneRecorder()
. These allow sharing of theMediaRecorder
object attached to the microphone'sMediaStream
across trials.
- #2245
1216ace2
Thanks @bjoluc! - Throw errors if trialtype
parameters are strings, deprecated jsPsych functions are called, or the globaljsPsych
variable is used without assigning a JsPsych instance first (#2217)
- #2287
522aa2cd
Thanks @jodeleeuw! - AddedrandomInt(lower, upper)
,sampleBernoulli(p)
,sampleNormal(mean, std)
,sampleExponential(rate)
, andsampleExGaussian(mean, std, rate, positive=false)
tojsPsych.randomization
.
- #2287
522aa2cd
Thanks @jodeleeuw! - Added the ability to run the experiment in simulation mode usingjsPsych.simulate()
. See the simulation mode documentation for information about how to get started.
- #2287
522aa2cd
Thanks @jodeleeuw! - Added methods to assist with simulation (e.g.,pressKey
for dispatching a keyboard event andclickTarget
for dispatching a click event) to the PluginAPI module.
- #2209
45fb3ebb
Thanks @jodeleeuw! -jsPsych.endExperiment()
has a new, optional second parameter for saving data. Passing in an object of key-value pairs will store the pairs in the data for the final trial of the experiment.
- #2287
522aa2cd
Thanks @jodeleeuw! - Added several functions to thepluginAPI
module in order to support the new simulation feature.
Patch Changes
- #2287
522aa2cd
Thanks @jodeleeuw! - The weights argument forrandomization.sampleWithReplacement()
is now explicitly marked as optional in TypeScript. This has no impact on usage, as the implementation was already treating this argument as optional.
7.0.0
Major Changes
-
#2183
c8760b1
Thanks @jodeleeuw, @becky-gilbert, @bjoluc! - jsPsych is now fully modular, with individual NPM packages for the core library, plugins, and extensions.To support this change, we've made a number of breaking changes. We've added a guide for migrating from version 6.x to 7.x to the documentation, and updated the hello world tutorial with instructions for configuring jsPsych in three different ways. In addition to enabling package management, some of the benefits that this change provides include an improved developer experience with IntelliSense code hints, proper encapsulation of jsPsych so that multiple instances can be run on the same page, and easier integration with modern JavaScript tools like bundlers.
- #2130
2802430
Thanks @jodeleeuw! - Added the option for plugins to return aPromise
and delay the execution of theon_load
event handler for the trial until the plugin manually invokes it. This allows for plugins that have asynchronous components to finish loading before triggering theon_load
event. Added this functionality to all plugins that currently require it.
- #2100
b0d77e7
Thanks @jodeleeuw! - Renamed all getter-type functions to haveget
prefix to make it clearer what the role of these functions are. The following were affected:currentTimelineNodeID
->getCurrentTimelineNodeID
progress
->getProgress
startTime
->getStartTime
totalTime
->getTotalTime
currentTrial
->getCurrentTrial
initSettings
->getInitSettings
allTimelineVariables
->getAllTimelineVariables
Minor Changes
- #2142
12d6753
Thanks @jodeleeuw! - WhenjsPsych.endExperiment
is called it provides the option of displaying a message on the screen. If theon_finish
event handler ininitJsPsych()
returns aPromise
then the message will now display only after the promise has resolved.
- #2129
f37f64a
Thanks @jodeleeuw! - All duration measurements, including response times, are now rounded to the nearest millisecond. We changed this because the precision thatperformance.now()
generates is misleading in this context and removing the (often very long) decimal component of the measurement will save space in the data files.
- #2121
03517a0
Thanks @zimmerrol! - Updatedturk.submitToTurk()
to usePOST
instead ofGET
to avoid errors where too much data is transmitted.