Release v2.1

July 17, 2020

Please feel free to get in touch with feedback and questions via the #pupil channel on Discord 😄


With v2.1, we have continued to focus on making Pupil Core more core. We were able to resolve a lot of stability and user experience issues, especially regarding post-hoc calibrations.

Bug Fixes

  • Fixed that recorded calibration were displayed as being editable - #1932, #1938
  • Fixed that recorded calibration were duplicatable - #1933
  • Fixed that immutable calibration could be deleted - #1934
  • Fixed inconsistencies in the naming of recorded calibrations - #1935, #1944
  • Fixed minimum confidence slider for post-hoc calibration - #1942
  • Ensured correct validation is run even when a different calibration is selected - #1921
  • Removed UI for heatmaps across surfaces in Capture (only available in Player) - #1917
  • Fixed incorrect warning about deprecated surface definitions - #1923
  • Prevented crashes when rendering invalid eyeball outline - #1947, #1954
  • Fixed that restarting background tasks would not clear already running ones - #1939
  • Fixed frozen eye videos in HMD-Eyes - #1949
  • Disabled automatic reference location detection again in post-hoc gaze - #1951
  • Fixed crash when opening recording with unavailable gazer - #1922
  • Fixed crashes of the timeline for very short recordings - #1958
  • Fixed crash when deleting a running post-hoc calibration multiple times - #1955
  • Fixed crashing post-hoc gaze mapping for an HMD-Eyes recording - #1961
  • Fixed Service crashing when requesting a non-existing plugin - #1962
  • Fixed Capture crashing when finishing a calibration without reference data - #1960
  • Prevented starting gaze mappers on calibration fail - #1963
  • Fixed an issue when running Pupil Capture bundle on macOS 10.14 Mojave - #1919

Developer Notes

Customizing Screen Marker Positions - #1953

Using custom marker positions for the screen marker calibration choreography might be a common use case. Previously this was not easy to achieve with a custom plugin, as the relevant function was a private method. We have now made it public so that you can more easily implement custom calibration choreographies.

Black Formatting Checks on Travis - #1956

We are internally using Black as automatic Python formatter for our codebase. This helps us ensure that PRs only contain relevant changes and no formatting/whitespace changes. To enforce this more strictly, we added a black formatting check to our Travis integration, which will run on all commits and PRs. Please make sure to format your code with black before submitting a PR to ensure that all Travis checks pass.