The first major release of 2021 brings a lot of fixes (we're focussing heavily on making the user experience more smooth at the moment).
On top of those fixes are a number of useful additions though, like the new `Button` component for adding text-based buttons with callback functions.
NEW:
- Builder has a `Button` component to make it easier to have clickable image/text objects
- Builder: Improved layout of Component dialogs:
- Consistent tabs for common parameters (like pos, size, color...)
- Component parameters that use filenames (sounds, images, etc.) now have a Browse... button
- Component parameters that use Excel files now have an “open in Excel” button, if you click this when the field is blank it will open a pre-made template for you
- Component parameters that are colors now have a button to open the color picker
- Builder now features separate compile buttons for JS and Py and will open the JS file in the Coder view when compiled
- Builder readme files now support markdown formatting (and .md extensions) psychopy/psychopy3377
- PsychoPy lib: refactored color handling via the :class:`Color` class
CHANGES (compatibility issues):
- Changed: the new more-flexible parameters of PsychoPy Experiment Components makes experiments from 2021.1 **will not run**
on older versions of PsychoPy. If you share your study with people using older versions make sure you set the
:ref:`useVersion` setting to be 2021.1.0 or upwards so that it will run elsewhere
- Changed: PsychoJS: orientation for PsychoJS now follows clock convention rather than engineering convention (polar coordinates, positive rotation is anti-clockwise) whereas PsychoPy used the clock convention. From this release onwards both use the clock convention or orientation/rotation.
- Changed: Slider has additional params for colors and fonts of lines/labels/marker that will not exist on older installations
- Changed: BufferImageStim was using an incorrect rect specification for selecting the region of the screen - it was using a bottom-left instead of PsychoPy standard center [3597](https://github.com/psychopy/psychopy/issues/3597)
FIXES:
- All: Curly quotation marks (“”), which are sometimes automatically put into text boxes by MacOS and certain keyboard settings, will now be automatically replaced with regular quotation marks (“) when in code. To use curly quotation marks still, you can “escape” them by putting a \ before them.
- Lib: Fixed syntax warnings on Python 3.8 [3344](https://github.com/psychopy/psychopy/issues/3344)
- Lib: The Pygame audio backend can be used again. [3382](https://github.com/psychopy/psychopy/issues/3382)
- Lib: Several fixes to iohub ( [3348](https://github.com/psychopy/psychopy/issues/3348), [#3399](https://github.com/psychopy/psychopy/issues/3399), [#3412](https://github.com/psychopy/psychopy/issues/3412), commit psychopy/psychopy/3912167)
- Builder/Coder: Fixed the error raised when the “Plot gamma” button in the monitor center is clicked but no calibration data is loaded. [3384](https://github.com/psychopy/psychopy/issues/3384)
- Coder/Builder: Correct detection of retina/high-dpi displays within wxPython on MacOS, Linux, and Windows.
- Python Lib: TextBox stim text layout not working on linux and macOS.
- Python Lib: various minor fixes to TextBox2
- Coder: Miscellaneous bug fixes to demos/coder/stimuli example scripts.
- Coder: Fixed a possible error when parsing code to build the source tree.
- Coder: Handle error caused when closing editor tabs.
- Builder: The “Routine” pane can no longer be- moved which broke the builder interface.
- Coder: Make Coder's default size reasonable on fresh install. [3472](https://github.com/psychopy/psychopy/issues/3472)
- Coder: Bug where opening an unsupported file type raises an error. [3519](https://github.com/psychopy/psychopy/issues/3519)
- Coder: Fixed bug where the source tree raises and error if it comes across things it cannot correctly parse.
- Online: Prevent Safari from beeping in full screen. psychopy/psychojs266
- Online: Slider sizing, tick placement, and event handling improvements. 249 263 264
- Online: Fixed ShapeStim instances ignoring the closeShape property. psychopy/psychojs245
- Online: Support `TrialHandler.Method.FULLRANDOM`. psychopy/psychojs247
- Online: Improved mouse event accuracy overall. psychopy/psychojs248
- Online: Fixed ShapeStim variants ignoring the contrast property. psychopy/psychojs250
- Online: Fixed an issue translating ‘\n’ encoded line breaks when importing conditions files. psychopy/psychojs251
- Online: Fixed TextBox click handling. psychopy/psychojs258
- Online: Improved MovieStim autoplay. psychopy/psychojs260
- Online: Allow for parsing of array-like strings when setting VisualStim position or size. psychopy/psychojs262
- Online: Prevent Safari from beeping in full screen. psychopy/psychojs266