PsychoPy Changelog

What's new in PsychoPy 2020.2.5

Oct 26, 2020
  • FIXES:
  • Now code-signing the installer on Windows as well as macOS
  • Failing to send print statements to output, depending on how PsychoPy was launched commit:4773ec32d Only occured if you launch by double-clicking file or if you close Runner
  • Coder crashing on macOS when using editor with autocomplete=True commit:687e81dfb
  • ioHub fix for unicode strings commit:5451ea49a
  • Marker color on RatingScale was not resetting (but use Slider anyway!) #3140
  • Runner sometimes ran wrong script (and never knew which to stop). Now better tracking of running process #3142
  • Slider not honoring the order from the Routine (should render in order from top down) commit:9e0299544
  • JavaScript Code Components for Before Experiment were having no effect #3151
  • error with trying to poll() on a script process that was NoneType commit:cc56713cc
  • Editable textboxes were still able to be drawn if you clicked on them (even when they were not told to draw()) commit:8253f0696
  • warn against using global JS names in experiment #3177
  • Brush not being reset in JavaScript commit:88812c3bd
  • Movie reset issue #3183
  • countinueRoutine=False had no effect for online studies if in Begin Routine block
  • errors that should have appeared in the console were sometimes appearing in the (app) error dialog commit:d44f24d63
  • more tolerant of whitespace in Emotiv Client ID file
  • Runner AddTask dialog had wrong format for file filter #3213
  • Sound volume attribute was having no effect on the PTB backend #3215
  • Fixed fill/line colors of TextBox #3222
  • Error in JavaScript code when Movie Component had blank stop time commit:0b4ddcffc
  • Better handling of stdout encodings when console not set to utf-8 encoding commit:d77535906
  • Improved Resources box for the online (using relative references commit:c9558bfd8 and resize with dialog commit:d607271db)
  • JavaScript code-conversion now uses our own built-in round() function mimicking the same function in Python commit:da426d9e3

New in PsychoPy 2020.2.4 (Sep 7, 2020)

  • FIXES:
  • improved search for resources files whne compiling JS (was crashing if using root folder and using code to specify the conditions file) commit:09816985d
  • the Before Experiment section of Code Components wasn’t being written for JavaScript components commit:bbfd310
  • error with wx complaining about Alignment (in wx 4.1) commit:a32e2ca commit:ae508d6
  • TextBox Component default size is None (=autoexpand)
  • TextBox editable=True had no effect on the Builder outputs to JavaScript
  • themes menu correctly updates what thte current them is in all open windows commit:c5cdc49
  • custom fonts that didn’t provide a “family name” were causing the font search to crash commit:ef078ab
  • bug trying to us an invalid “useRunner” preference 3532e4c
  • JavaScript studies failed if there were 2 Mouse Components in a single Routine commit:0e0b26d4d commit:32a6be2
  • improved Big Five Inventory demo
  • blank TextBox Component should use blank string rather than None commit:39bf1bb
  • further fix to macOS stapling (might not have worked for users with no internet connection?)
  • Form Component now honors being set to show only at certain times (in keeping with other visual Components) commit:35ad5bc
  • Coder now correctly providing syntax styling for JS and C

New in PsychoPy 2020.2.3 (Sep 7, 2020)

  • FIXES:
  • Mac version now fully signed and notarized for GateKeeper! For some time it’s been an annoyance that Apple would block PsychoPy because of it not being from a “known developer” but in recent updates GateKeeper has become so aggressive the app has been crashing on startup for some macOS versions. Hopefully Apple will now let us launch in peace!
  • better handling of non-loading fonts in the application On mac some fonts weren’t being found (although this might be due to the now-solved gatekeeper issue)
  • auto-translate py->js for parameters with $ We were translating code components but not parameter boxes where the user was switching to code using $ #3064
  • better handling when a piece of code fails to convert (warning not error) #3063
  • show progress (in Runner) while syncing project with Pavlovia #3061
  • various fixes and additions to Japanese translations

New in PsychoPy 2020.2.2 (Aug 10, 2020)

  • NEW FEATURES:
  • New look, including dark mode, customizable themes and new flat buttons (you can choose a Classic theme to get the old buttons back for comfort)
  • Now have an class for /editable/ text called TextBox2:
  • very fast rendering (faster than the original TextStim)once the font characters are uploaded
  • supports an editable flag which allows it to pick up text input to the window including full unicode support for your keyboard
  • you can apply (fake) bold and italics within the text using and
  • if multiple editable TextBoxes are onscreen together you can tab between them
  • Form components now work online and support (in both lab-based and online versions):
  • free text
  • ratings and sliders
  • choice boxes (radio buttons)
  • descriptions (no response)
  • headings
  • Improved Coder:
  • call-tips for code and better auto-completion
  • view the folders and the structure of the current file
  • Improved Runner:
  • Builder/Coder provide options to run directly (Ctrl-R) and Runner only then used to show stdout
  • more visible how to save/open Runner filelists
  • Runner filelists saved as .psyrun files and can be loaded into PsychoPy with a double-click
  • Online studies don’t need to use html folder. Keep everything where it is! If resources aren’t found automatically (and you would have put them in to the Resources folder) you can now add them to the ExperimentSettings>Online>AdditionalResources
  • Added support for Emotive and BrainProducts EEG hardware
  • CSV data outputs now have an option to set the delimitter (e.g. ; or t rather than ,)
  • Brush component now has an option to allow drawing without having to hold down the mouse button #2980
  • CHANGES:
  • _PsychoJS_ code now uses the same syntax for loop termination as _PsychoPy_ allowing either nameOfLoop.finished=true or currentLoop.finished=true
  • Python 2.7 is no longer supported. We recommend Python versions 3.6 or 3.7 (3.8 is not tested likely to work)
  • FIXES:
  • Various compatibility fixes for JS code from PsychoPy
  • loop termination now working the same as Python and correctly auto-translated
  • movies should now restart correctly, at least on browsers that support the seek behavior
  • randint is now included and imported in all scripts
  • sin, cos, pi etc are also imported in all scripts
  • support for wxPython 4.1
  • so many more small fixes!

New in PsychoPy 2020.1.3 (Mar 9, 2020)

  • Fixes in this patch release:
  • Runner was not launching Coder scripts from their own directory #2819
  • csv files should allow separator to be ; and decimal place to be , #2825 #2828
  • PsychoPy application was now launching in Windows versions

New in PsychoPy 2020.1.2 (Mar 3, 2020)

  • Keypad key responses were not showing up as numbered responses under the new Keyboard class #2812
  • Cedrus button box had an error int he Builder-output code added in 2020.1.1 #186ec587634
  • Code Component was accidentally forcing people to use code auto-conversion #5c57d0c9d

New in PsychoPy 2020.1.1 (Feb 18, 2020)

  • Fixes in this patch release:
  • Mac keyboard access should now bring up a dialog taking you to the correct System Preferences panel
  • Fixes to Eyelink 1000 communications from iohub #1a8c6923b0
  • Better support for high-res displays on Windows #2795
  • Further tweak to readline issues on linux #6975040fae #4a80060b94
  • Several tweaks to the new Runner dialog:
  • double-click takes you back to the file in the appropriate Builder/Coder view
  • Ctrl-R within the Runner run the file (so you can do Ctrl-R twice from builder and you're running)
  • Alerts separated from stdout so they're more visible
  • Alerts for Builder are checked on experiemnt selection rather than on script compile time
  • Alert was testing stim size/pos incorrectly if using units "from experiment settings"

New in PsychoPy 3.2.4 (Oct 9, 2019)

  • FIXED:
  • Mitigated the gamma get/set fails caused by Microsoft release 1903. PsychoPy now avoids using these calls unless gamma-setting is really needed
  • gives more info about the cause. See more info in troubleshooting gamma ramp
  • provides an option to skip gamma-setting entirely
  • Slider wasn't allowing the units to be "from experiment settings" commit:23d80b49f
  • Setting the conditions rows from another conditions file was causing "Error path is on mount... start on mount..." commit:2e8cd2183
  • Mac 'tab' key was reporting itself as 'escape' with new Keyboard commit:95326cadd
  • PSTBox Python3 incompatibility (although there may be more) commit:da83429d6
  • better scaling of rating scale (Slider) in Form commit:d115e63cb
  • Stencil for Form was being activated immediately rather than when needed commit:9daeba94d

New in PsychoPy 3.2.3 (Sep 13, 2019)

  • FIXED:
  • for the pip install version (incorrectly packaged) there was an error "NameError: name ‘pythonExec’ is not defined"
  • JS version system now drops the final (bugfix) release number (3.2.3 -> 3.2 in JS lib)
  • Cedrus response box now supports keys as a variable value in Builder #2608
  • QUestPlusHandler now supports "unkown" kwargs #2610

New in PsychoPy 3.2.2 (Sep 9, 2019)

  • FIXED:
  • timing of first frame was being given an extra (unecessary) delay if images were loaded 8ddab41
  • potential app crashes if no internet avilable 63aa7e0 b3e15f9
  • Builder under OS X was not launching experiments if filename contained a space 1b205df

New in PsychoPy 3.1.4 (Jul 5, 2019)

  • FIXED:
  • further fix to Mic for experiments created under the previous version (our last fix only solved the problem for new Mic Components being inserted) #2512
  • fixed demo timeByFrames which was set to use Qt4 for plotting instead of Qt5 (which has been the default version provided since the switch to Python3)
  • fixed crash in the new Keyboard class caused by psychtoolbox lib incorrectly converting unicode characters in the device name (this was actually a fix in kleinerm/Psychtoolbox-3@a5c3785 ) that needed repackaging
  • error with Variable Component trying to save start/stop times (that might not exist for that variable) commit:e1bca1bdc
  • some data could get orphaned (and not saved) by being collected in the outer section of a nested loop commit:8b7fda826
  • when using Mouse.getPos() with retina display and win.units=='pix' the mouse pos was double the expected value commit:a78d74420

New in PsychoPy 3.1.3 (Jul 5, 2019)

  • FIXED:
  • StairHandler code from Builder was failing in 3.1 due to new tStartRefresh data being sent to wrong method (addData not addOtherData) #2497
  • Routines in online studies that weren’t included in (or before) a loop were not having their data saved #2496
  • Fix to audio capture error “bad argument at position 0” from Builder experiments commit:dadb9be25
  • PsychoPy app didn’t recognise projects that were pointing to gitlab ssh targets (e.g. created in terminal) commit:08d7937

New in PsychoPy 3.1.2 (May 16, 2019)

  • FIXED:
  • videos were not running online commit:9779579b6 commit:51b0824f7
  • fixed rounding error in filtering of NoiseStim commit:5d0e360d8
  • iohub waitKeys should act like getKeys if maxWait

New in PsychoPy 3.1.1 (May 16, 2019)

  • ADDED:
  • Added the loop playback parameter to Movie Components
  • FIXED:
  • Microphone on windows failed if user didn’t manually set pyo to be preferred lib. That isn’t now needed commit:700b72cd6
  • pyo lib is now provided in the 64 bit Python3 Standalone (win)
  • The new Keyboard class wasn’t clearing all events when requested (e.g. at the beginning of stimulus onset) #2442
  • Parallel port lib in the Windows 32-bit version wasn’t working (installed a new dll)
  • OpenCV in Mac Standalone wasn’t working (updated to be a package not a single file)
  • Sounds with variable duration didn’t stop properly #2446
  • Fix to JS output when useVersion was set to something
  • Cedrus XID lib is now working on Python3 (although their official one is yet to come)

New in PsychoPy 3.1.0 (May 1, 2019)

  • Adds the new Keyboard class for faster
  • Improved ioHub and eyetracker compatibility for Python3 (although this is still very much in a beta state)

New in PsychoPy 3.0.7 (Apr 25, 2019)

  • FIXED:
  • local project repeatedly asking to Create New Pavlovia project when one already exists c3f0d20
  • Fixed "No module named 'PyQt4'" on MacOS

New in PsychoPy 3.0.6 (Mar 12, 2019)

  • FIXED:
  • TrialHandler.next() was accidentally removed by Python3 conversion and now added back in commit:c44621ab0
  • various fixes to iohub Python3 compatibility (especially for datastore)
  • permit reading "xlsm" files as conditions files (Excel files with macros although these will be ignored by Python) commit:9e11bfd61
  • added space key to the GlobalEventKeys #2310
  • fix to pasting into Code Component with windows EOLs
  • fixes to Japanese translation (and bug around saving Static Components in Japanese locale)
  • packaging: PyQt package inside one of the Standalone distros was broken

New in PsychoPy 1.90.1b (Apr 12, 2018)

  • ADDED:
  • Option to move Y position of RatingScale in code #1776
  • Added option of providing extra arguments to scipy.optimize functions when fitting from psychopy.data #1772
  • FIXED:
  • Problem with icon path in GLFW backend on linux commit:bbf515216
  • PUINT didn't exist in older win32 package but was expected by pyglet
  • Better handling of conditions file with empty columns (from Excel adding them or from missing headers)
  • Several fixes to ioHub in Python3 #1770 #1771 and #1775
  • Mouse reporting incorrect position when using Mac Retina display commit:54ced9c26
  • sounddevice was failing to find portaudio.dylib on Mac

New in PsychoPy 1.85.6 (Dec 10, 2017)

  • FIXED:
  • on some computers the data weren't being saved if user pressed 'Esc' during experiment. commit:193ce541
  • fix for the "Unable to share contexts" error on machines that don't support OpenGL shadow_window commit:a1c29d3a
  • pyo not always closing properly #1614
  • problem with non-ascii characters in conditions file name commit:32204a200
  • loading of preferences was failing if the audio backend wasn't a valid option commit:c2d11477b
  • Builder demo images_blocks had wrong units for images #1601
  • no longer tell people to upgrade if their version is newer than the "latest" #1567
  • added support for newer PST box in ioHub (with 7 buttons not 5) commit:b9534a288
  • Monitor.linearizeLums() was raising an error due to a change in import name
  • stimuli not switching correctly to desired window in multi-window setups #1514
  • opencv movie backend had an error that 'float' object cannot be interpreted as an index #1510
  • cedrus box had error AttributeError: 'ResponseDevice' object has no attribute 'status' #1493
  • retina displays had some bad scaling. Now strongly recommend using retina=True commit:08163f78a

New in PsychoPy 1.85.4 (Nov 3, 2017)

  • There was an error building the 1.85.3 release. Rather than building a bug-fix-inly release, version 1.85.3 has accidentally included some substantial code refactoring intended for the 1.86.0 release.
  • This version, which we will call 1.85.4 is to replace that 1.85.3 release and provides the same fixes (but not the code refactoring) that was intended in 1.85.3.

New in PsychoPy 1.85.3 (Nov 3, 2017)

  • This release fixes several bugs but it does also add 2 new dependencies:
  • json_tricks and future are bother required for this version
  • these are paving the way for updating Python3 (which will be enabled in 1.86.x series of releases)
  • FIXED:
  • Problem with text stimuli on Windows not rendering if large (was a bug in pyglet, fixed in 1.3.0b1)
  • Whitespace/indentation guides were not toggling on/off correctly in Coder commit:4ebbdb9c5
  • Added status property to labjack U3 in Builder scripts commit:b4d16d3d6
  • Fix to iohub.launchHubServer() under Linux commit:a9392f62e
  • Fix to config file for iViewX on ioHub commit:590fb20de

New in PsychoPy 1.85.1 (Apr 10, 2017)

  • FIXED:
  • textbox v textstim demo wasn’t working commit:b2913c124
  • error with colors when using TextStim with blendmode=’add’
  • several errors with PsychoJS outputs from Builder:
  • early termination of experiments commit:f1bd15047
  • incorrect blank email field in info.php commit:d68c36bf9
  • incorrect component name sin endRoutine commit:e47d90a36
  • incorrect default units for image stims commit:8c32d1c9a
  • several problems with sound:
  • pyo not loading #1365
  • searching for ‘auto’ instead of ‘default’ device commit:d54d14fe

New in PsychoPy 1.85.0 (Feb 28, 2017)

  • ADDED:
  • Online experiments now supported using new PsychoJS library. See what is supported so far at PsychoPy online status
  • New sound engine using sounddevice
  • Checking of image paths for stimuli (did you forget to add ".jpg"?)
  • Copy/paste of a Component is now possible in Builder (right-click the component to copy, use the Experiment menu to paste). This essentially duplicates the component.
  • FIXED:
  • crash when increasing size of Flow in Builder #1272
  • bug in pysoundcard backend preventing file-based sounds playing #1299
  • excel outputs were failing to save on new versions of openpyxl #1276
  • useVersion() was not fetching new (uninstalled) versions correctly #1301
  • DotStim now has the option to reset the dots at the beginning of a trial commit:db6f53d50
  • better handling of blank cells in Excel conditions files (and xls files now supported)
  • Excel conditions files now import the "value" of a cell rather than the formula commit:7f753f5
  • DEPENDENCIES/PACKAGING:
  • pyserial and pyxid were incompatible versions
  • now packaging 1.2-maintenance branch of pyglet including Text memory fixes

New in PsychoPy 1.85.0 RC 5 (Feb 16, 2017)

  • ADDED:
  • Online experiments now supported using new PsychoJS library. See what is supported so far at PsychoPy online status
  • New sound engine using sounddevice
  • Checking of image paths for stimuli (did you forget to add ”.jpg”?)
  • Copy/paste of a Component is now possible in Builder (right-click the component to copy, use the Experiment menu to paste). This essentially duplicates the component.
  • FIXED:
  • crash when increasing size of Flow in Builder #1272
  • bug in pysoundcard backend preventing file-based sounds playing #1299
  • excel outputs were failing to save on new versions of openpyxl #1276
  • useVersion() was not fetching new (uninstalled) versions correctly #1301
  • DotStim now has the option to reset the dots at the beginning of a trial commit:db6f53d50
  • better handling of blank cells in Excel conditions files (and xls files now supported)
  • Excel conditions files now import the “value” of a cell rather than the formula commit:7f753f5
  • DEPENDENCIES/PACKAGING:
  • pyserial and pyxid were incompatible versions
  • now packaging 1.2-maintenance branch of pyglet including Text memory fixes

New in PsychoPy 1.84.2 (Oct 3, 2016)

  • FIXED:
  • Problem with renaming of Routines preventing experiment from re-loading #1248
  • Several bugs with Builder code generation since PEP8 refactoring: * Static Components gave error compiling script * some Keyboard Components (with variable “allowed keys” settings) gave error compiling script #1245 * Mouse Component with “Save state at end of trial” gave indentation error #1253 * Loops gave error compiling script if conditions file was a formatted string #1253
  • Standalone distributions were not including the correct pylink and pyxid packages
  • ADDED:
  • Keyfinder demo to Builder view #1252
  • Support for key modifiers using event.getKeys() #1242

New in PsychoPy 1.84.1 (Sep 8, 2016)

  • FIXED:
  • Builder Keyboard component was treating non-response as correct answer. #1230 Thanks Jarrod
  • MovieStim2 (opencv) now compatible with newer versions of opencv (v3.x) #1223
  • SSL certificates for OS X causing failure to connect to osf.io for projects
  • hello_world demo crashing the app on load
  • dependencies added/updated in Standalone packages:
  • pyHook, pygame, pylink 0.3.2, (win32)
  • pysoundcard (OS X)
  • ADDED:
  • Movie outputs in gif, mp4, mov formats automatically, using moviepy #1228

New in PsychoPy 1.84.0 (Aug 31, 2016)

  • Highlights:
  • you can now upload/sync/search projects with OpenScienceFramework http://www.psychopy.org/general/projects.html
  • you can now rename a Routine (in the Experiment menu)
  • support for Mac Retina displays (and 64bit mac binaries now working pretty well we think!)
  • many updated dependencies in the Standalone apps
  • many bug fixes (including several memory errors)

New in PsychoPy 1.84.0 RC 5 (Jul 8, 2016)

  • ADDED: Projects menu, which can sync files with Open Science Framework
  • ADDED: new Builder experiment setting to specify the version of PsychoPy to be used when running the experiment #1137
  • ADDED: Movies in Builder can now avoid loading audio (i.e. mute). As well as meaning your movie is genuinely silent this saves pocessing for the computer, so do it unless you need the sound!
  • ADDED: menu item to create a .csv (data) file from a .psydat file; see Coder > Tools menu (also: Coder > Demo menu)
  • ADDED: Builder experiments force a save before the end of the study so pressing the red stop button is less likely to lose data for you
  • CHANGED: setting ShapeStim vertices dynamically now requires an explicit assignment of the new vertex list to shape.vertices; this can be slow for filled shapes with many vertices. See shapes.py, selfx example.
  • FIXED: window viewScale and viewPos combine correctly; viewScale handles negative values, mirror-image flips the window correctly (except for Text)
  • CHANGED: Some file names and locations have changed. To update, replace OLD form in your scripts with NEW form: OLD form –> NEW form Deprecated since 2012, must now update: from psychopy import calib –> from psychopy import monitors as calib (or just use monitors) from psychopy import bits –> from psychopy.hardware.crs import bits from psychopy import log –> from psychopy import logging Newly deprecated (the old way still works but logs a warning): from psychopy import _shadersPyglet –> from psychopy.visual import shaders from psychopy import gamma –> from psychopy.visual import gamma from psychopy import filters –> from psychopy.visual import filters API change (only affects people who write their own Builder components): from psychopy.app.builder.components._visual import VisualComponent –> from psychopy.app.builder.components._base import BaseVisualComponent
  • CHANGED: PyQt is now default over wx for dialog boxes (if either PyQt4 or PyQt5 are installed). Also fixed bug to support PyQt5
  • IMPROVED: ShapeStim can properly fill arbitrary shapes (using tesselation); see new shapes.py Coder demo for examples.
  • FIXED: Builder experiments will always add their extension (to stop people overwriting them with the python script of the same experiment)
  • FIXED: faster writing of multiple lines (bits) to the LabJack
  • FIXED: sampling rate when using binocular mode in eyelink 1000 #1146
  • FIXED: Aperture now supports infinite durations in Builder #1122
  • MAJOR REFACTOR: A lot of code has been refactored to be more in line with a thing called PEP8. If that doesn’t mean anything to you don’t worry, it shouldn’t affect you. If you like that sort of thing, sorry we didn’t got further and get rid of camelCase.
  • FIXED: ColorCal II now supports newer pyserial version #1138

New in PsychoPy 1.84.0 RC 4 (Jun 17, 2016)

  • The issue with flickering on Retina displays and adds a Window argument to turn on Retina support
  • Fixes the objc issue with package 'packaging' is not installed

New in PsychoPy 1.84.0 RC 2 (May 23, 2016)

  • ADDED: Projects menu, which can sync files with Open Science Framework
  • ADDED: new Builder experiment setting to specify the version of PsychoPy to be used when running the experiment #1137
  • ADDED: Movies in Builder can now avoid loading audio (i.e. mute). As well as meaning your movie is genuinely silent this saves pocessing for the computer, so do it unless you need the sound!
  • ADDED: menu item to create a .csv (data) file from a .psydat file; see Coder > Tools menu (also: Coder > Demo menu)
  • ADDED: Builder experiments force a save before the end of the study so pressing the red stop button is less likely to lose data for you
  • IMPROVED: ShapeStim can properly fill arbitrary shapes (using tesselation); see new shapes.py Coder demo for examples.
  • CHANGED: setting ShapeStim vertices dynamically now requires an explicit assignment of the new vertex list to shape.vertices; this can be slow for filled shapes with many vertices. See shapes.py, selfx example.
  • CHANGED: minor: Aperture, Polygon, and Rect now depend on BaseShapeStim (i.e., their base class has a new name, no change in function)
  • FIXED: window viewScale and viewPos combine correctly; viewScale handles negative values, mirror-image flips the window correctly (except for Text)
  • CHANGED: Some file names and locations have changed. To update, replace OLD form in your scripts with NEW form: OLD form –> NEW form Deprecated since 2012, must now update: from psychopy import calib –> from psychopy import monitors as calib (or just use monitors) from psychopy import bits –> from psychopy.hardware.crs import bits from psychopy import log –> from psychopy import logging Newly deprecated (the old way still works but logs a warning): from psychopy import _shadersPyglet –> from psychopy.visual import shaders from psychopy import gamma –> from psychopy.visual import gamma from psychopy import filters –> from psychopy.visual import filters API change (only affects people who write their own Builder components): from psychopy.app.builder.components._visual import VisualComponent –> from psychopy.app.builder.components._base import BaseVisualComponent
  • CHANGED: PyQt is now default over wx for dialog boxes (if either PyQt4 or PyQt5 are installed). Also fixed bug to support PyQt5
  • FIXED: Builder experiments can’t be saved without their extension (to stop people overwriting them with the python script of the same experiment)
  • FIXED: faster writing of multiple lines (bits) to the LabJack
  • FIXED: sampling rate when using binocular mode in eyelink 1000 #1146
  • FIXED: Aperture now supports infinite durations in Builder #1122
  • MAJOR REFACTOR: A lot of code has been refactored to be more in line with a thing called PEP8. If that doesn’t mean anything to you don’t worry, it shouldn’t affect you. If you like that sort of thing, sorry we didn’t got further and get rid of camelCase.

New in PsychoPy 1.83.03 (Dec 29, 2015)

  • FIXED: problems with the Mac Standalone failing to launch on some OSX versions
  • FIXED: reduced impact of pyglet text memory leaks (make fewer updates). (NB There is still a leak in Pyglet’s code that we can’t fix)
  • FIXED: several fixes to RatingScale
  • FIXED: window viewScale and viewPos combine correctly; viewScale handles negative values, mirror-image flips the window correctly (except for Text) #1011
  • FIXED: fixed memory leak in sounds on 64bit Mac installation (error in pyo)
  • FIXED: MovieStim3 was interacting badly with ShapeStim #981
  • FIXED: MovieStim3 was failing if no audio stream was present in the file #984
  • FIXED: PsychoPy app now gives a warning message if it can’t start due to permissions error #1055
  • FIXED: Faster rendering of MovieStim2 and Moviestim3 due to removal of mipmapping code

New in PsychoPy 1.83.01 (Oct 23, 2015)

  • FIXED: new bug with pygame sounds giving fileName not defined
  • FIXED: several RatingScale bugs; reduce the memory leak (due to pyglet as used in TextStim)
  • ADDED: voice-key capability, e.g., for word-naming studies; includes a demo, auxillary functions (smoothing, zero-crossing, etc), and file-format options (all those supported by pyo)
  • CHANGED: remove support for google’s speech to text (the new google API is for chrome / chromium developers only)
  • CHANGED: deprecate psychopy.web.upload(); use the requests package instead: requests.post()

New in PsychoPy 1.83.00 (Oct 23, 2015)

  • ADDED: MovieStim3 using an alternative backend that doesn’t require avbin, vlc or streamer. It just uses a couple of python libs and FFMPEG, which are relatively easy to package. Seems to have good performance too but this needs more testing
  • IMPROVED: speed to load psychopy.visual (“lazy loading” only the stimuli you use are loaded)
  • ADDED: RatingScale precision=60 allows display of time-based values (min:sec or hours:min). Values from .getRating() are decimal proportions (1 min: 59 seconds -> 1.9833 minutes).
  • ADDED: Coder view can now be set to read-only mode to prevent subjects accidentally altering study #945
  • ADDED: TextStim now has property boundingBox telling you the maximum area of the letters (defined by the font, not by the actual rendered letters) #35c168f1
  • ADDED: Aperture can now be created using images (anything that worked with ImageStim) #923 and can also be inverted so that opaque becomes transparent and vice versa #922 Thanks Thomas Emerling for both
  • ADDED: New visual stimulus EnvelopeGrating for contrast-modulated gratings. Thanks Andrew Schofield
  • ADDED: option to set mouse_exclusive mode (mouse locked to the window boundary and invisible) Thanks Suddha Sourav #898
  • FIXED: DotStim can now change field size on the fly
  • FIXED: several (but probably not all) annoying error messages that were unimportant
  • FIXED: Condition file in Builder no longer abbreviated. Thanks Mike #913

New in PsychoPy 1.82.02 (Oct 23, 2015)

  • FIXED: TrialHandler wasn’t saving extraInfo (was overwritten during trials) #815
  • FIXED: don’t have pickle file re-saving itself when it comes back from pickling #833
  • FIXED: Mouse Component could crash data saving if no response was made #839
  • FIXED: memory leaks in MovieStim2 (opencv backend) #838 and #919
  • FIXED: checked that window positions are integers #854
  • FIXED: OSX “10.10” incorrectly looked older than “10.9” #866
  • FIXED: RatingScale would show “False” for scale description in some cases #870
  • FIXED: problem with microphone saving files that end with w, a or v #875
  • FIXED: MonitorCenter failing to create new monitor #887
  • FIXED: universal line endings in csv outputs files #889
  • FIXED: unicode in conditions files #892
  • FIXED: iohub not detecting Linux mouse events #894
  • FIXED: if output file is set to be stdout this should then be closed #902
  • FIXED: don’t abbreviate the path name of conditions files #913
  • FIXED: minor error in logging for rush() under win32 #914
  • FIXED: unicode issues in user preferences panel #930 #932
  • FIXED: MonitorCenter won’t lock you out if given an invalid screen number #937
  • FIXED: mono++ mode in CRS Bits++/#/Display++ is now using full dynamic range (previously 8bit blue gun overlay was overriding the 16bit screen buffer)

New in PsychoPy 1.82.01 (Mar 14, 2015)

  • FIXED: problem with MovieStim2 showing black box instead of movie on certain systems
  • FIXED: problem with Tobii eye tracker not closing calibration window (Sol)
  • FIXED: better timing for non-slip routines that follow dynamic routines (Jeremy) #822
  • FIXED: problem with stimuli (e.g. shapes) not appearing if a texture had just been created and not yet drawn
  • FIXED: pygame sound engine complained about “global variable loops not defined”
  • ENHANCED: Filename collision handling for ExperimentHandler (Richard Höchenberger)
  • CHANGED: for text data outputs that give delim=’t’ the file extension ‘.tsv’ is added instead of ‘.dlm’ (Richard Höchenberger)

New in PsychoPy 1.78.01 (Aug 23, 2013)

  • FIXED: Image Components were showing up a pastel versions when no actual image was provided
  • FIXED: MultiStairHandler wasn’t working on Builder, and had insufficient data outputs when using wide-text csv files
  • FIXED: loops couldn’t be deleted from the Flow if their conditions file couldn’t be found (e.g. had been moved)
  • FIXED: setting of color values was not honouring the autolog setting (was always logging)
  • FIXED: gui choice boxes now handle unicode in their options as well as ASCII strings (thanks Anne Peschel)
  • FIXED: Scaling bug for SMI eye-tracker in binocular mode (thanks Sol)
  • FIXED: Builder Code Components that were showing up in unreadable, single-line boxes
  • IMPROVED: All Builder Dialogs now appear close to the top of the screen (so they don’t shoot off the bottom in most screens)

New in PsychoPy 1.77.02 (Jul 15, 2013)

  • FIXED: problem with Builder Images appearing grey unless they were ‘constant’. This is a bug that was introduced in 1.77.00 with the faster loading of images.
  • FIXED: having a monitors folder with a unicode character in the path doesn’t break the app (thanks Sebastiaan Mathot)

New in PsychoPy 1.77.01 (Jun 21, 2013)

  • FIXED: The recent files list in Builder now contains recent files! (Thanks Piotr Iwaniuk)
  • FIXED: Timing issue with LC Tech eye-tracker in iohub
  • Standalone package changes:
  • pytables downgraded to 2.3.5 on Win32 (to be compatible with WinXP)
  • pyo upgraded to 0.6.6 on OSX and Win32

New in PsychoPy 1.77.00 (Jun 13, 2013)

  • ADDED: preview of Sol Simpson’s ioHub for faster (asynchronous) polling of hardware including mouse, keyboard, eyetrackers and other devices. See iohub demos for example usage. This provides many advantages over previous event polling:
  • asynchronous process allows constant polling (not tied to refresh rates) in a way that won’t impact the rendering of your stimuli. It even runs on a separate CPU core if possible.
  • provides up/down/duration for key presses
  • provides unicode character (rather than simply key name for keyboard)
  • provides a unified API for eyetracker classes
  • provides async access to the parallel port
  • provides an alternative data output format (using hdf5) particularly useful for high-output streaming data (e.g. eye-trackers)
  • DEPRECATED: opensslwrap will soon be replaced by pyFileSec, a much-improved version of the same package (= file-oriented encryption)
  • IMPROVED: substantially (~40%) faster loading of RGB images from disk (by using byte format rather than float). May also allow storing of more images on graphics card than previously
  • ADDED: AdvancedMicrophone class to add and retrieve a high-frequency tone to indicate the start of recording (e.g., to allow accurate vocal RT estimation), with demo (Jeremy Gray)
  • REFACTORED: parallel port support. Support for Windows via inpout32/inpout64 and Linux via pyparallel added. Existing API maintained for single port usage, but new PParallel classes added to provide more flexibility when dealing with multiple ports. see psychopy.parallel - functions for interacting with the parallel port (Thanks Mark Hymers)
  • ADDED: MovieStim now updates its status attribute to FINISHED, in line with other stimuli
  • CHANGED: microphone default file names include milliseconds (to avoid two files with the same name)
  • ADDED: color-word speech-recognition demo (coder > input > speech_recognition.py)
  • ADDED: in Builder components dialog boxes, text that will be interpreted as code is displayed in monospace font
  • ADDED: remove and warn about trailing whitespace in Builder component values (but not Text fields)
  • ADDED: support for pyglet version 1.2 alpha (but 1.1.4 is still recommended - it appears to render faster)
  • ADDED: more sound.SoundPyo methods (get & set duration, volume, looping)
  • FIXED: event.Mouse() can obtain a default visual.Window(), if one has already been created
  • ADDED: Builder components generate a compile-time warning if a field’s value looks dynamic but its updating is constant (Jeremy Gray)
  • ADDED: better simulated scanner-noise in launchScan (just for fun)
  • ADDED: RatingScale.getHistory() returns intermediate time-stamped ratings; allows “continuous” ratings
  • CHANGED: RatingScale.getRating() no longer returns False prior to an accepted rating (now returns the currently selected value)

New in PsychoPy 1.77.00 RC 1 (May 8, 2013)

  • ADDED: preview of Sol Simpson’s ioHub for faster (asynchronous) polling of hardware including mouse, keyboard, eyetrackers and other devices. See iohub demos for example usage. This provides many advantages over previous event polling:
  • asynchronous process allows constant polling (not tied to refresh rates) in a way that won’t impact the rendering of your stimuli. It even runs on a separate CPU core if possible.
  • provides up/down/duration for key presses
  • provides unicode character (rather than simply key name for keyboard)
  • provides a unified API for eyetracker classes
  • provides async access to the parallel port
  • provides an alternative data output format (using hdf5) particularly useful for high-output streaming data (e.g. eye-trackers)
  • IMPROVED: substantially (~40%) faster loading of RGB images from disk (by using byte format rather than float). May also allow storing of more images on graphics card than previously
  • ADDED: AdvancedMicrophone class to add and retrieve a high-frequency tone to indicate the start of recording (e.g., to allow accurate vocal RT estimation), with demo (Jeremy Gray)
  • ADDED: MovieStim now updates its status attribute to FINISHED, in line with other stimuli
  • ADDED: support for pyglet version 1.2 alpha (but 1.1.4 is still recommended - it appears to render faster)
  • REFACTORED: parallel port support. Support for Windows via inpout32/inpout64 and Linux via pyparallel added. Existing API maintained for single port usage, but new PParallel classes added to provide more flexibility when dealing with multiple ports. see psychopy.parallel - functions for interacting with the parallel port (Thanks Mark Hymers)
  • ADDED: more sound.SoundPyo methods (get & set duration, volume, looping)
  • FIXED: event.Mouse() can obtain a default visual.Window(), if one has already been created
  • ADDED: Builder components generate a compile-time warning if a field’s value looks dynamic but its updating is constant (Jeremy Gray)
  • ADDED: better simulated scanner-noise in launchScan (just for fun)

New in PsychoPy 1.76.00 (Feb 21, 2013)

  • ADDED: Window.callOnFlip() function to allow arbitrary functions to be called, timed precisely to the point where the frame flip has occurred (see Coder Demos>Timing>callOnFlip)
  • FIXED: a scaling bug in RatingScale descriptions (Giuseppe Pagnoni)
  • ADDED: support for mirror-image text, and mirror-image BufferImageStim (Jeremy Gray)
  • ADDED: support for lower latency sound with the pyo library. For now pygame remains the default but this can be changed by setting the order in preferences>general>audio
  • CHANGED: PsychoPy Standalone is now being built using python 2.7.3 (rather than 2.6). Under OSX psignifit has been removed from this distribution, as have the libraries to create .mov files using Window.saveMovieFrames(). If you need those features then install the 1.75 Standalone and then update to 1.76 using the auto-update system.
  • ADDED: sound objects (either pygame or pyo) now support autologging
  • FIXED: a bug in the generation of the LMS color space conversion matrix. It seems nobody was actually using this for real, but if you were contact Jon for details!
  • FIXED: problem with unset exp.name (was causing wx.Dialog error “TypeError: String or Unicode type required” on new experiments)
  • CHANGED: exp.name is no longer available from Builder scripts (use exp.getExpName() instead)
  • FIXED: problem with tiling of depth values for ElementArrayStim (thanks Yuri Spitsyn)
  • FIXED: Fix to setContrast for certain visual stimuli (Jonas Lindeløv)
  • FIXED: inability to launch scripts/experiments if the Mac Standalone was in a folder with a space in it
  • FIXED: Aperture Component now honours the ‘units’ (Hiroyuki Sogo)
  • FIXED: stimulus contains/overlaps functions now use stimulus ‘units’ and take stimulus orientation into account (Hiroyuki Sogo) NB if you had code in place to perform these corrections yourself you should now remove it!
  • FIXED: some data outputs were not honouring the ‘matrixOnly’ option (Mike MacAskill)
  • FIXED: when loading a psydat file of an ExperimentHandler the file automatically saved new copies of its csv/excel outputs. This no longer occurs (if loaded using misc.fromFile)
  • ADDED: timestamp option to event.waitKeys() (Jonas Lindeløv)
  • ADDED: a first-run wizard to check the system, report as html (somewhat experimental) (Jeremy Gray)
  • ADDED: a benchmark wizard (Tools menu) to test hardware & software, option to share on psychopy.org (Jeremy Gray)
  • ADDED: info.getRAM() (Jeremy Gray)
  • FIXED: Fall back to primary display if a secondary one is specified but unavailable. (Erik Kastman)
  • CHANGED: various changes to RatingScale (thanks Henrik Singman):
  • CHANGED: choices are now displayed at the tick marks by default (instead of above the line). To restore the old behavior set labels=False. This does not affect experiments created in older versions of the builder.
  • ADDED: check box “choiceLabelsAboveLines” to the RatingScale component of the builder (advanced tab) to still have the choice labels above the line.
  • ADDED: arguments tickMarks and labels to RatingScale class to control where tick marks (for quantitative rating scales) should be placed at the line and how these should be labeled.
  • ADDED: argument ticksAboveLine to RatingScale class. Controls where the tick marks should be plotted (above or below the line).

New in PsychoPy 1.76.00 RC 2 (Feb 15, 2013)

  • FIXED: a scaling bug in RatingScale descriptions (Giuseppe Pagnoni)
  • ADDED: support for mirror-image text, and mirror-image BufferImageStim (Jeremy Gray)

New in PsychoPy 1.76.00 RC 1 (Jan 24, 2013)

  • ADDED: support for lower latency sound with the pyo library. For now pygame remains the default but this can be changed by setting the order in preferences>general>audio
  • CHANGED: PsychoPy Standalone is now being built using python 2.7.3 (rather than 2.6). Under OSX psignifit has been removed from this distribution, as have the libraries to create .mov files using Window.saveMovieFrames(). If you need those features then install the 1.75 Standalone and then update to 1.76 using the auto-update system.
  • ADDED: sound objects (either pygame or pyo) now support autologging
  • FIXED: a bug in the generation of the LMS color space conversion matrix. It seems nobody was actually using this for real, but if you were contact Jon for details!
  • FIXED: problem with unset exp.name (was causing wx.Dialog error “TypeError: String or Unicode type required” on new experiments)
  • CHANGED: exp.name is no longer available from Builder scripts (use exp.getExpName() instead)
  • FIXED: problem with tiling of depth values for ElementArrayStim (thanks Yuri Spitsyn)
  • FIXED: Fix to setContrast for certain visual stimuli (Jonas Lindeløv)
  • FIXED: inability to launch scripts/experiments if the Mac Standalone was in a folder with a space in it
  • FIXED: Aperture Component now honours the ‘units’ (Hiroyuki Sogo)
  • FIXED: stimulus contains/overlaps functions now use stimulus ‘units’ and take stimulus orientation into account (Hiroyuki Sogo) NB if you had code in place to perform these corrections yourself you should now remove it!
  • FIXED: some data outputs were not honouring the ‘matrixOnly’ option (Mike MacAskill)
  • FIXED: when loading a psydat file of an ExperimentHandler the file automatically saved new copies of its csv/excel outputs. This no longer occurs (if loaded using misc.fromFile)
  • ADDED: timestamp option to event.waitKeys() (Jonas Lindeløv)
  • ADDED: a first-run wizard to check the system, report as html (somewhat experimental) (Jeremy Gray)
  • ADDED: a benchmark wizard (Tools menu) to test hardware & software, option to share on psychopy.org (Jeremy Gray)
  • ADDED: info.getRAM() (Jeremy Gray)
  • FIXED: Fall back to primary display if a secondary one is specified but unavailable. (Erik Kastman)
  • CHANGED: various changes to RatingScale (thanks Henrik Singman):
  • CHANGED: choices are now displayed at the tick marks by default (instead of above the line). To restore the old behavior set labels=False. This does not affect experiments created in older versions of the builder.
  • ADDED: check box “choiceLabelsAboveLines” to the RatingScale component of the builder (advanced tab) to still have the choice labels above the line.
  • ADDED: arguments tickMarks and labels to RatingScale class to control where tick marks (for quantitative rating scales) should be placed at the line and how these should be labeled.
  • ADDED: argument ticksAboveLine to RatingScale class. Controls where the tick marks should be plotted (above or below the line).

New in PsychoPy 1.75.01 (Oct 2, 2012)

  • FIXED: Bug with not being able to play sounds of blank (infinite) duration from Builder

New in PsychoPy 1.74.03 (Aug 14, 2012)

  • FIXED: the multiline text entry box in the Builder Text Component was broken (thanks Piotr Iwaniuk)
  • IMPROVED: serial (RS232) interface to fORP button box to avoid recording repeated presses (thanks Nate Vack). Does not affect use of fORP box from USB interface.

New in PsychoPy 1.74.02 (Aug 6, 2012)

  • FIXED: bug leading to message: IndexError: string index out of range. This was caused by problem saving excel files
  • FIXED: bug leading to message: AttributeError: ImageStim instance has no attribute ‘rgbPedestal’. Was only occurring on non-shaders machines using the new ImageStim.
  • FIXED: problem loading old ExperimentHandlers that contained MultiStairHandlers
  • FIXED: Builder Text Components gave an error if letter height was a variable
  • ADDED: Window.flip() now returns the timestamp for the flip if possible (thanks (Sol Simpson)
  • ADDED: misc.sph2cart (Becky Sharman)
  • ADDED: warning when user presents SimpleImageStim that seems to extend beyond screen (James McMurray)

New in PsychoPy 1.74.00 (Jul 11, 2012)

  • Highlights (and compatibility changes):
  • CHANGED: Builder experiments saved from this version will NOT open in older versions
  • ADDED: ‘non-slip’ timing methods to the Builder interface (improved timing for imaging experiments) See Non-slip timing for imaging for further info
  • ADDED: Long-wide data file outputs, which are now the default for all new Builder experiments. See Long-wide data file outputs
  • ADDED: basic audio capture (and speech recognition via google!). Builder now has a Microphone Component to record inputs, but does not yet use the speech recognition facility. See psychopy.microphone library, Coder demo “input/say_rgb.py” and Builder demo “voiceCapture”. (Jeremy)
  • ADDED: HSV color space for all stimuli
  • CHANGED: in Builder the default dotstim has signal dots=’same’ (once a signal dot, always a signal dot). Only affects new experiments.
  • CHANGED: The summarised excel/csv outputs now have an additional column for the order of the stimulus as presented. This may affect any automated analysis you perform on your spreadsheet outputs.
  • CHANGED: data.FitCumNormal now uses a slightly different equation that has a slightly different equation, which alters the interpretation of the parameters (but not the quality of fit). Parameters from this function before version 1.74 cannot to be compared with new values.
  • CHANGED: pygame is no longer being formally supported/tested although it will probably continue to work for some time.
  • RESTRUCTURED: the generation of ‘summarised’ data outputs (text and excel) were also rewritten in this versino, so make sure that your data files still contain all the data you were expecting
  • Additional changes:
  • FIXED: missing parameter name in conditions file is detected, triggers more informative error message
  • ADDED: fORP: option asKeys to handle button presses as pyglet keyboard events (when using a serial port); faster getUniqueEvents()
  • ADDED: basic file encryption (beta) using RSA + AES-256; see API encryption for usage and caveats
  • ADDED: upload a file to a remote server over http (libs: web.upload) with coder demo, php scripts for server (contrib/http/*)
  • ADDED: Builder demo (dualRatingScales): show a stim, get two different ratings side by side [unpack the demos again]
  • ADDED: rating scale options: ‘maxTime’ to time-out, ‘disappear’ to hide after a rating; see new Builder demo
  • FIXED: rating scale bug: skipKeys was not handling ‘tab’ properly (no skip for tab-key, do skip for ‘t’, ‘a’, or ‘b’)
  • ADDED: new locale pref for explicitly setting locale, used in date format and passed to builder scripts (Jeremy, Hiroku Sogo)
  • ADDED: ‘enable escape’ option in experiment settings, default is ‘enabled’
  • ADDED: support for ElementArrayStim to use the same set of color spaces as other stimuli
  • CHANGED: removed python 2.4’s version of sha1 digest from RunTimeInfo
  • CHANGED: removed any need for PyOpenGL (pyglet.gl now used throughout even for pygame windows)
  • FIXED: Builder was ignoring changes to DotStim FieldPos (thanks Mike MacAskill)
  • FIXED: Builder Flow is smarter about Loops and now stops you creating ‘broken’ ones (e.g. Loops around nothing)
  • FIXED: MovieStim used from Builder was not working very well. Sounds continued when it was told to stop and the seek(0.0001) line was causing some file formats not to work from Builder only (those that don’t support seeking)
  • FIXED: Mouse component was not saving clicks in Builder experiments if forceEndOnClick was set to be False
  • FIXED: DotStim.setFieldCoherence was having no effect if noise dots were updating by ‘position’
  • FIXED: TextStim.setColor() was not updating stimulus properly when haveShaders=False
  • FIXED: In Builder, sound duration was not being used in creating new sounds
  • CHANGED: Under linux, although you will be warned if a new version is available, it will not be auto-installed by PsychoPy (that should be done by your package manager)
  • FIXED: csv/dlm data outputs no longer have a trailing delimitter at end of line
  • FIXED: all test suite tests should now pass :-)

New in PsychoPy 1.70.00 (Aug 24, 2011)

  • CHANGED use of allowedKeys in Keyboard Component. You used to be able to type ynq to get those keys, but this was confusing when you then needed ‘space’ or ‘left’ etc. Now you must type ‘y’,’n’,’q’, which makes it more obvious how to include ‘space’,’left’,’right’...
  • CHANGED dot algorithm in DotStim. Previously the signalDots=same/different was using the opposite to Scase et al’s terminology, now they match. Also the default method for noiseDots was ‘position’ and this has been changed to ‘direction’. The documentation explaining the algorithms has been clarified. (see Dots (RDK) Component)
  • CHANGED MovieStim.playing property to be called MovisStim.status (in keeping with other stimuli)
  • CHANGED names:
  • data.importTrialTypes is now data.importConditions
  • forceEndTrial in Keyboard Component is now forceEndRoutine
  • forceEndTrialOnPress in Mouse Component is now forceEndRoutineOnPress
  • trialList and trialListFile in Builder are now conditions and conditionsFile, respectively
  • ‘window units’ to set Component units is now ‘from exp settings’ for less confusion
  • CHANGED numpy imports in Builder scripts:
  • only a subset of numpy features are now imported by default: numpy: sin, cos, tan, log, log10, pi, average, sqrt, std, deg2rad, rad2deg, linspace, asarray, random, randint, normal, shuffle
  • all items in the numpy namespace are available as np.*
  • if a pre-v1.70 script breaks due to this change, try prepending ‘np.’ or ‘np.random.’
  • CHANGED Builder use of $. $ can now appear anywhere in the field (previously only the start). To display a ‘$’ character now requires ‘\$’ in a text field (to prevent interpretation of normal text as being code).
  • ADDED flexibility for start/stop in Builder Components. Can now specify stimuli according to:
  • variable values (using $ symbol). You can also specify an ‘expected’ time/duration so that something is still drawn on the timeline
  • number of frames, rather than time (s), for greater precision
  • an arbitrary condition (e.g. otherStim.status==STOPPED )
  • ADDED the option to use a raised cosine as a PatchStim mask (thanks Ariel Rokem)
  • ADDED a preference setting for adding custom path locations to Standalone PsychoPy
  • ADDED Dots Component to Builder interface for random dot kinematograms
  • ADDED wide-format data files (saveAsWideText()) (thanks Michael MacAskill)
  • ADDED option for full randomization of repeated lists (loop type ‘fullRandom’) (Jeremy)
  • ADDED builder icons can now be small or large (in prefs)
  • ADDED checking of conditions files for parameter name conflicts (thanks Jeremy)
  • ADDED emulate sync pulses and user key presses for fMRI or other scanners (for testing); see hardware/launchScan in the API reference, and Coder demos > experimental control > fMRI_launchScan.py (Jeremy)
  • ADDED right-clicking the expInfo in Experiment Settings tests & previews the dialog box (Jeremy)
  • ADDED syntax checking in code component dialog, right-click (Jeremy)
  • IMPROVED documentation (thanks Becky Sharman)
  • IMPROVED syntax for using $ in code snippets (e.g., “[$xPos, $yPos]” works) (Jeremy)
  • IMPROVED Flow and Routine displays in the Builder, with zooming; see the View menu for key-board shortcuts (Jeremy)
  • IMPROVED Neater (and slightly faster) changing of Builder Routines on file open/close
  • FIXED demos now unpack to an empty folder (Jeremy)
  • FIXED deleting an empty loop from the flow now works (Jeremy)
  • FIXED further issue in QUEST (the addition in 1.65.01 was being used too widely)
  • FIXED bug with updating of gamma grid values in Monitor Center

New in PsychoPy 1.65.00 (Jul 4, 2011)

  • ADDED improved gamma correction using L=a+(b+kI)**G formula (in addition to industry-standard form). Existing gamma calibrations will continue to use old equation but new calibrations will take the new extended formula by default.
  • ADDED MultiStairHandler to run multiple interleaved staircases (also from the Builder)
  • ADDED createFactorialTrialList, a convenience function for full factorial conditions (thanks Marco Bertamini)
  • CHANGED Builder keyboard components now have the option to discard previous keys (on by default)
  • CHANGED RatingScale:
  • ADDED: argument to set lineColor independently (thanks Jeff Bye)
  • CHANGED default marker is triangle (affects windows only)
  • ADDED single-click option, custom-marker support
  • FIXED: bug with precision=1 plus auto-rescaling going in steps of 10 (not 1)
  • FIXED errors with importing from ‘ext’ and ‘contrib’
  • FIXED error in joystick demos
  • FIXED bug in ElementArrayStim depth
  • FIXED bug in misc.maskMatrix. Was not using correct scale (0:1) for the mask stage
  • FIXED buglet in StairHandler, which was only terminating during a reversal
  • FIXED bug when loading movies - they should implicitly pause until first draw() (thanks Giovanni Ottoboni)
  • IMPROVED handling of non-responses in Builder experiments, and this can now be the correct answer too (corrAns=None). ie. can now do go/no-go experiments. (Non-responses are now empty cells in excel file, not “–” as before.)

New in PsychoPy 1.63.00 (Dec 27, 2010)

  • FIXED bug in color calibration for LMS color space (anyone using this space should recalibrate immediately) Thanks Christian Garber for picking up on this one.
  • FIXED bug with excel output from StairHandler
  • FIXED bug in ElemetArray.setSizes()
  • FIXED bug in running QuestHandler (Zarrar Shehzad)
  • FIXED bug trying to remove a Routine from Flow when enclosed in a Loop
  • FIXED bug with inseting Routines into Flow under Linux
  • FIXED bug with playing a MovieStim when another is already playing
  • CHANGED default values for Builder experiment settings (minor)
  • CHANGED ShapeStim default fillColor to None (from (0,0,0))
  • FIXED DotStim now supports a 2-element fieldSize (x,y) again
  • CHANGED phase of RadialStim to be ‘sin’ instead of ‘cosine’ at phase=0
  • FIXED rounding issue in RadialStim phase
  • FIXED ElementArrayStim can now take a 2x1 input for setSizes(), setSFs(), setPhases()
  • ADDED packages to standalone distributions: pyserial, pyparallel (win32 only), parallel python (pp), IPython
  • CHANGED Builder demos are now back in the distributed package. Use >Demos>Unpack... to put them in a folder you have access to and you can then run them from the demos menu
  • FIXED bug with ShapeStim initialisation (since 1.62.02)
  • UPDATED: Builder demos
  • ADDED autoLog mechanism:
  • many more messages sent, but only written when log.flush() is called
  • rewritten backend to logging functions to remove file-writing performance hit
  • added autoLog and name attributes to visual stimuli
  • added setAutoDraw() method to visual stimuli (draws on every win.flip() until set to False)
  • added logNextFlip() method to visual.Window to send a log message time-stamped to flip
  • UPDATED: Standalone distribution now uses Python2.6 and adds/upgrades;
  • parallel python (pp)
  • pyserial
  • ioLabs toolbox
  • ipython (for future ipython shell view in coder)
  • numpy=1.5.1, scipy=0.8.0, matplotlib=1.0
  • labjack toolbox

New in PsychoPy 1.61.02 (Jun 21, 2010)

  • ADDED: Code Component to Builder (to insert arbitrary python code into experiments)
  • ADDED: visual.RatingScale ‘stimulus’ (thanks to JG). See ratingScale demo in Coder view
  • FIXED: TrialHandler can now have dataTypes that contain underscores (thanks fuchs for the fix)
  • FIXED: loading of scripts by coder on windows assumed ASCII so broke with unicode characters. Now assumes unicode (as was case with other platforms)
  • FIXED: minor bugs connecting to PR650

New in PsychoPy 1.61.01 (May 15, 2010)

  • FIXED: Bug in coder spitting out lots of errors about no method BeginTextColor
  • FIXED: Buglet in rendering of pygame text withour shaders
  • FIXED: broken link for >Help>Api (reference) menuitem

New in PsychoPy 1.61.00 (May 15, 2010)

  • CHANGED: color handling substantially. Now supply color and colorSpace arguments and use setColor rather than setRGB etc. Previous methods still work but give deprecation warning.
  • ADDED: Colors can now also be specified by name (one of the X11 or web colors, e.g. ‘DarkSalmon’) or hex color spec (e.g. ‘#E9967A’)
  • REMOVED: TextStimGLUT (assuming nobody uses GLUT backend anymore)
  • ADDED: ‘saw’ and ‘tri’ options to specify grating textures, to give sawtooth and triangle waves
  • FIXED: visual.DotStim does now update coherence based on setFieldCoherence calls
  • FIXED: bug in autoupdater for installs with setuptools-style directory structure
  • FIXED: bug in SimpleImageStim - when graphics card doesn’t support shaders colors were incorrectly scaled
  • CHANGED: console (stdout) default logging level to WARNING. More messages will appear here than before
  • ADDED: additional log level called DATA for saving data info from experiments to logfiles
  • ADDED: mouse component to Builder
  • ADDED: checking of coder script for changes made by an external application (thanks to Jeremy Gray)
  • ADDED: data.RuntimeInfo() for providing various info about the system at launch of script (thanks to Jeremy Gray)
  • FIXED: problem with rush() causing trouble between XP/vista (thanks to Jeremy Gray)
  • AMERICANIZATION: now consistently using ‘color’ not ‘colour’ throughout the project! ;-)
  • FIXED: problem with non-numeric characters being inserted into data structures
  • CHANGED: stimuli using textures now automatically clean these up, so no need for users to call .clearTextures()

New in PsychoPy 1.60.04 (Feb 23, 2010)

  • FIXED build error (OS X 10.6 only)

New in PsychoPy 1.60.03 (Feb 18, 2010)

  • FIXED buglet in gui.py converting 'false' to True in dialogs (thanks Michael MacAskill)

New in PsychoPy 1.60.01 (Feb 15, 2010)

  • FIXED minor bug with the new psychophysicsStaircase demo (Builder)
  • FIXED problem with importing wx.lib.agw.hyperlink (for users with wx

New in PsychoPy 1.50.02 (Sep 9, 2009)

  • FIXED problem loading .psydat files component variables were being saved but not reloaded
  • Removed debugging messages that were appearing in Coder output panel