Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

6.3 Release Notes #1296

Closed
jodeleeuw opened this issue Dec 9, 2020 · 0 comments
Closed

6.3 Release Notes #1296

jodeleeuw opened this issue Dec 9, 2020 · 0 comments
Milestone

Comments

@jodeleeuw
Copy link
Member

jodeleeuw commented Dec 9, 2020

New Features

Changes

  • Keys must be given as strings in trial parameters (e.g. choices: ['a']) and are saved as strings in the data (e.g. response: 'a'). Numeric keycodes are no longer accepted and numeric keycodes are no longer used in the data output. This change was made because numeric keycodes are deprecated and future browsers could drop support, so key responses are now recorded using the event's .key property. Key strings are also easier to work with and produce more readable data.
  • Because .key based responses distinguish between upper and lower case input, a new flag was added to jsPsych.init called case_sensitive_responses. This setting is false by default, but you can set this flag to true if you want case sensitivity for your key choice parameters and participants' keyboard responses. This setting does not affect responses that are typed into text boxes. For a full summary of the changes related to this shift, see Merge feature-key-code-update branch #1465 and the jsPsych.init documentation. (Use .key property for string-based key codes. #396, Merge feature-key-code-update branch #1465).
  • We now recommend using jsPsych.pluginAPI.compareKeys to compare keys in all plugin and experiment code, rather than using something like if (response == 'j').... Using this compareKeys function will ensure that your key comparisons work appropriately based on the experiment's case_sensitive_responses setting. See the compareKeys documentation for more information.
  • Media preloading is no longer done through jsPsych.init, so the preloading-related parameters in jsPsych.init are no longer supported (show_preload_progress_bar, preload_audio, preload_images, preload_video, max_load_time, max_preload_attempts). Please use the new preload plugin instead.
  • jsPsych plugins can now store complex trial data as JavaScript objects and arrays, instead of JSON-encoded strings. This fixes problems with parsing jsPsych JSON data that were caused by nested JSON strings. This also means you no longer need to use JSON.parse during an experiment to access data that is stored in objects/arrays (e.g. responses to survey-* questions), and plugins should not use JSON.stringify when saving trial data. (Problem outputting nested stringified data to JSON. #670, Merge branch feature-objects-arrays-in-data - fixes #670 #1523)
  • In an effort to standardize the response variable names across plugins, many data property names have been changed to response. Examples of data properties that have changed include key_press (*-keyboard-response trials), button_pressed (*-button-response trials), and responses (survey-* trials). In some cases, the data structure has changed so that response information can be stored in a single response property (e.g. maxdiff and serial-reaction-time-mouse plugins). These changes were made in order to reduce the number of different columns and empty cells that are generated when jsPsych data is stored in tabular format, such as CSV. For more information, see the documentation for specific plugins, and this list of all data property name/structure changes across plugins. (standardize the response variable in the data #638, Standardize response data #1529)
  • You can now use the jsPsych.timelineVariable function without second the true argument. This function will determine whether or not it should return the timeline variable value immediately, based on the context in which it's called. Thanks @vijaymarupudi! (Allow timelineVariable() to work in functions with no modification #883, Merge feature-timeline-variable-simplify - fixes #883 #1376)
  • jsPsych.pluginAPI.getAudioBuffer() will now attempt to load audio files that haven't been preloaded. This means that preloading audio files is no longer strictly necessary, though of course it is still highly recommended. In order to make this feature possible, getAudioBuffer() now returns a Promise and plugins that use this method have been updated. (audio-* plugins don't play audio that hasn't been preloaded #1527, fix-audio-preload #1543)

Bug Fixes

@jodeleeuw jodeleeuw added this to the 7.0 milestone Dec 9, 2020
@jodeleeuw jodeleeuw pinned this issue Dec 9, 2020
@becky-gilbert becky-gilbert changed the title 7.0 Release Notes 6.3 Release Notes Jan 5, 2021
@becky-gilbert becky-gilbert modified the milestones: 7.0, 6.3 Jan 5, 2021
@becky-gilbert becky-gilbert unpinned this issue Feb 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants