Versions follow Semantic Versioning (<major>.<minor>.<patch>
).
- Protocols have been renamed to Tasks ([#237]).
- Use hatch CI for testing and building, sunset Tox (#216).
- CI runs have more meaningful names (#231).
- Update Flask and Werkzeug to >v3.0 (#227).
0.6.0 - 2024-08-29
- Change app config from the Settings panel (#105).
- About info in webpanel (#180)
- Animal metadata is now held within Visiomode. Free-form animal ID text field has now been replaced by a dropdown list of animals, which can be added from the settings panel or directly within the session dashboard ([#179]).
- App data and cache can now be cleared from the webpanel ([#193]).
- Pygame version bumped to >=2.5.1.
- Installation instructions for
pipx
now use apt instead of pip. - Remove warning about Hyperpixel display compatibility with the latest Raspberry Pi OS. This is now fixed.
- Documentation migrated to mkdocs, hosted at docs.visiomode.org.
- Negative frequencies for moving gratings stimuli now update properly (#86).
0.5.2 - 2023-04-26
- Cache directory for intermittent export files.
- Session data export in NWB and CSV format.
- CITATION.cff file.
- App configuration is now stored in a JSON relative to where the app was launched.
- Help sidebar option redirects to documentation at readthedocs.
- Fix loading external configuration files (#118).
0.5.1 - 2023-03-02
- Target-only paradigm crash.
0.5.0 - 2023-02-24
- Trial outcome counter chart in session "Overview" panel.
- Favicon for web interface.
- Version details in session file.
- Signal detection theory classification per trial.
- Added response identifier to Response object.
- Stimulus info now returns common name and identifier.
- History table now sorts sessions in descending order based on date.
- Default to non-empty response object for no_response trials.
- First stimulus in Go/NoGo is now always the target. This fixes weird bug where sometimes distractor and target stimuli would be flipped on the first trial.
- More informative stimulus information in the trial - give the actual stimulus shown rather than what was used in the task.
0.4.1 - 2023-02-02
- This changelog.
- Community code of conduct.
- Contributing guidelines.
- History panel now shows table of past sessions and allows downloading session JSON files.
- Provisional support for different filetypes in download API.
- Use logging library instead of prints.
- CLI entry point.
0.4.0 - 2023-01-19
- Support for python 3.9.
- Package project with hatch instead of setuptools.
- Upgrade numpy dependency to >= 1.22 (addresses security concerns in 1.21).
- Restructured documentation, now uses autogenerated summaries for classes and methods.
- CI and automated testing now work again.
- Dropped support for Python 3.7 due to important security upgrades in numpy not available in this version.
- Remove
importlib
calls to support later versions of python where this has been deprecated.- No longer usingrequirements.txt
, use hatch and tox for development.
0.3.5 - 2022-07-21
- Variable contrast moving gratings as stimuli.
- Recommend
pipx
as the default installation option.
0.3.4 - 2022-03-28
- Readme includes install, upgrade and contribution instructions.
- Stimulus details added to session file.
- Variable contrast gratings as stimuli.
- Application launcher in
__init__.py
will only launch if ran as a script. - Explicit contrast casting to float.
0.3.3 - 2022-03-22
- Use pygame version 2.0.1.
0.3.2 - 2022-03-22
- Various build system improvements.
0.3.1 - 2022-03-22
- Use setuptools to package and version app.
- Add
make_release.sh
to build and upload to PYPI.
- Use python 3.7 for RPiOS Buster compatibility.
0.3.0 - 2022-03-21
- Protocols support multiple Trial classes.
Devices
module to support external USB microcontroller integration.- Plugin system for stimuli, protocols and devices.
- Show hostname on web panel.
- Support lever-push apparatus as response device.
- Use pygame 2.0's dedicated
touch events
API. - Use full names in interfaces instead of abbreviations (e.g. stim -> stimulus).
- Trial outcomes marked as "correct" or "incorrect" instead of using SDT terms for better generalisability.
- Stimuli and protocols refactored into their own modules.
- Addressed circular imports in
visiomode.protocols
andvisiomode.models
. - Issue where precues were sometimes counted as "no response".
- Append
.json
to session file.
0.2.1 - 2021-03-13
- Migrated to pygame version 2.0.
- Session start/finish times to webpanel session log.
- Webpanel session progress bar.
- Webpanel session log shows timestamp alongside trial outcome.
- Webpanel session log resets when new session starts.
0.2.0 - 2021-03-10
- Web panel log displays real-time session updates.
- Screen resolution can be set in config file instead of being hardcoded.
- Added Go/NoGo paradigm.
- API restructured to split stimulus and task logic.
- Session listener refactored out of protocol interface to the main loop.
- Use same protocol identifiers on backend and frontend.
- Use python queues to share data between backend and frontend. Replaces Redis/socketIO.
- Timestamp session at request time instead of application launch.
- Removing Redis fixes application timing issues (was too slow).
- Redis/socketIO as the means of communication between backend and frontend.
0.1.0 - 2021-02-09
- Bare-bones web interface to set up task.
- CLI-based task monitoring.
- Grating and isoluminant gray stimuli.
- Single-target and 2AFC paradigms.
- Initial JSON file format for storing session data.
- Redis-based syncing between behaviour & web interface components.
- SocketIO reads Redis updates for web interface.