Skip to content

Releases: psychopy/psychopy

PsychoPy 2022.2.5

23 Dec 13:35
Choose a tag to compare

On top of the new features of the 2022.2.x series this release fixes:

  • Several fixes to syncing of Pavlovia projects
    (e.g. when project has been deleted/recreated online or when files have been
    copied over from another machine) #5117 #5221
  • Shape Component in Builder can now update vertices on each frame/repeat commit:e493ee2ca
  • Participant name missing from filename if given in URL query #5171
  • Eyetracker ROI stop code should only be written if a value is given to stop on #5156
  • Don't crash if Microphone.stop() called repeatedly #5121
  • TypeError in Window.resetViewport() #5135
  • PupilLabs lib was not being found due to missing __init__ #5180
  • QUESTplus had ben removed from list of loop types commit:2da0cfa0a
  • Sound.pause() was reseting to start of track commit:a161e135a

PsychoPy 2022.2.4

18 Aug 14:45
Choose a tag to compare

On top of the new features of the 2022.2.x series this release fixes:

  • Python: fix to occasional crashing of new FFPyPlayer moviestim caused by excessive logging in the underlying lib commit:47289f6ca
  • App: better handling of case where Experiment Settings may have syntax error commit:60cf0cea6
  • App: rare case where the $ could get ignored during dialog box validation commit:eb1897087
  • App: better handling of an (apparent) syntax error in user-supplied JS commit:992aaa423
  • App: transcription setting on Mic Component now False by default (because most people don't have a Google API key set up) commit:2c8a27ed

PsychoPy 2022.2.3

18 Aug 14:44
Choose a tag to compare

On top of the new features of the 2022.2.x series this release fixes:

  • App: Dark mode was missing "goto" button
  • App: Coder save button was not updating correctly after a change #5031
  • Python: Arabic Harakat diacritics were misaligned in Python TextBox2 #5033
  • Python: rendering performance improvement when contrast=1 #5027

PsychoPy 2022.2.2

14 Jul 12:55
Choose a tag to compare

On top of the new features of the 2022.2.x series this release fixes:

  • an issue with non-slip Routines not being terminated properly by force-end-routine

PsychoPy 2022.2.1

30 Jun 14:04
Choose a tag to compare

On top of the new features of the 2022.2.x series this release fixes:

  • App: bug loading experiments on MacOS: ‘PosixPath’ object has no attribute ‘is_relative_to’
  • Py: Keyboard releases were showing up as additional key events when using the ioHub for keyboard
  • Py: Slider.reset() was not making use of the desired startValue
  • App: better performance when using large history in the Python Shell

PsychoPy 2022.2.0

24 Jun 10:38
Choose a tag to compare


  • BETA: You can now get participant responses using Cameras (webcams), both in web-based and in local experiments. The new Camera Component allows you to
    • save recordings to disk
    • show the current input from the webcam (make the Camera the input to a regular ImageStim)
    • replay a recording later in the experiment (use the Camera as input to a subsequent MovieStim)
    • all the above features are currently BETA
  • Python: New movie playing engine for higher performance playback in locally experiments (using FFPyPlayer)
  • Online: Introducing the "Shelf" for persistent storage on Pavlovia of variables accessible to a range
    of scopes (only the current participant, only the current project, any project in the lab etc.).
    This may sound like not a big deal but it opens options for the following:
    • multi-session studies: retrieve the participant threshold/progress form last session
    • interactive multi-player studies: store 'messages' for another user to receive
    • counterbalancing online: by tracking the number of participants that have been in each group
  • Online: Gratings and Gabors now supported online, straight from your Builder experiments
  • Online: gamma correction supported in the browser(!!) by setting Window.gamma property (currently
    requires a code snippet)
  • Python: Builder now has a Serial Port Component to make it easier to connect to hardware without needing
    Code Components

Compatibility changes:

  • Studies with Code Components that access routineTimer will need adapting because the non-slip Builder
    logic has changed this is now a regular (count-up) Clock instead of a CountdownTimer

Key Fixes:

  • Online: Button Component is now fully working, so you don't need to create your own text boxes for this
  • Online: Routines used outside a loop now always advance the next row in the data file so that they
    can't overwrite each others' data
  • Python: The .stopped times should now be showing up correctly for all Components in the csv file
    (they were always correct in the log file)
  • Python: Better timing in non-slip Routines. Previously the non-slip timer corrected for overshoots but
    not undershoots. This is now fixed.
  • Is trials property of loops (to control whether the data file advances) is now supported
    in online studies

PsychoPy 2022.1.4

21 May 10:08
Choose a tag to compare

In addition to the new features of the 2022.1 release series this release includes the following


  • experiments using iohub were not running on MacOS standalone due to broken version of the gevent library
  • fixes to connection from Builder to Pavlovia in certain circumstances (e.g. certain usernames or when project has moved) 22963a9
  • fixes searches of Pavlovia for private projects by the logged in user
  • fix to use of correct answers for Joystick Buttons Component 2e66dc1 f9ef1be
  • Builder crashing when a Routine had been copied over 4592876
  • some parameters in Builder dialogs were missing their label names c8cd380
  • ShapeStim was not obeying requests for zero opacity 8030b2f
  • fixed "currentLoop is not defined" error for online studies a261d04
  • in certain circumstances, mic recordings were not saving for each trial, only for the last trial, when online 5e23a0a

PsychoPy 2022.1.3

19 Apr 15:57
Choose a tag to compare

In addition to the new features of the 2022.1 release series this release includes the following


  • TextStim (and Button, which is derived from TextStim) was not easily clickable online due to incorrect bounding box psychopy/psychojs#492
  • Slider styleTweaks were not being applied #4773
  • Check that file is saved before trying to Run #4759
  • Mouse coordinate mapping was incorrect for MacOS Retina displays which meant that Slider and Brush wasn't working, for instance #4755
  • Allow the Sound Component to be used if transcription libs were not available #4747
  • Form Component excel template was corrupted (by google sheets export) #4742
  • Copying a Routine from one experiment to another was causing a compile error #4740
  • Better logging of errors during application load for debugging purposes #4750
  • Setting the Slider to reset() was looking like a response when it shouldn't #4738
  • Fixed core.getTime() for M1 native installations (does not affect Standalone or Intel-based installations on M1) b839a32
  • Allow 3-dimensional arrays for ShapeStim vertices 31ca663
  • Fix dependency definition for Poetry installations 77cb7c9
  • Fix use of event module for keyboard as fallback for iohub/ptb 5c36728
  • If HomeBrew has a broken fonts folder ignore it #4719
  • If user specifies a line width of "2"make it 2 389bfd4

PsychoPy 2022.1.2

25 Mar 16:50
Choose a tag to compare

In addition to the new features of the 2022.1 release series this release includes the following


  • URL redirection was failing at the end of the study for online experiments where the JS code was generated using 2022.1.0-2022.1.1 due to an erroneous replacement of // with / in https:// e8218b3
  • Hyphens can now be included in Pavlovia project names (the validator in the PsychoPy GUI was being too strict) bbe6bf5
  • Static Components that are used for fetching online resources (e.g. using a Movie Component that sets its stimulus during a Static) will now freeze and wait until the resource is fully received if it takes longer than the set duration. Using ResourceManager components the experiment will not freeze but status can be checked status==FINISHED when download is complete
  • Fixed a bug where, after logging out of the Pavlovia Session in the PsychoPy interface, PsychoPy would still provide the option to use the names/groups of that user, but would not then allow access to their contents. bbe6bf5
  • PsychoPy would crash if using the Classic Theme on a mac with a retina display (missing icons) 495fddd
  • DotStim in local (Python) experiments was failing to update dots position (at all) #4694
  • Error raised when creating a new Pavlovia project from the menu item rather than the toolbar button #4683
  • Crashing on MacOS when running experiment due to Keyboard a) 'iohub' not loading due to gevent incompatibility and b) not then correctly falling back to 'event' backend

PsychoPy 2022.1.1

18 Feb 16:32
Choose a tag to compare

Highlights of 2022.1.x release series

  • Improved interface for searching, syncing and viewing Pavlovia projects from
    within the PsychoPy app
  • In online experiments you can now dynamically choose the resources your
    participant needs
    as the experiment progresses rather than downloading them all in
    the first dialog box
  • Can now insert new Routines from pre-packaged templates (such as Fixation, 2-alternative
    forced choice, feedback, etc)
  • QUEST handlers now available in PsychoJS including interleaved staircases
  • Most visual stimuli now have an "anchor" parameter to control how it's laid out
    relative to its position, and you can now set the alignment of text within a Textbox
    (with a handy demo to illustrate the difference between anchor and alignment!)
  • Added support for Pupil Labs eye trackers (thanks to Pupil Labs themselves) directly from the Builder

Compatibility Changes in 2022.1.x release series

  • Python 2.x is no longer supported
  • Filename timestamps now have a different default format (based on ISO 8601):
    2022-01-14_14h39.36.092 for 2:39pm and 36s, 92ms
    See for details on the new functionality

Fixes since 2022.1.0:

  • MacOS app failed to run experiments with dialog boxes (broken dependency being packaged)
  • the application would hang while trying to push any changes to Pavlovia
  • added Japanese translations of the new menu items