https://github.com/NYUCCL/psiTurk
Raw File
Tip revision: 9f86efdd1ebff543695acb1d3a35727a51a71740 authored by Dave Eargle on 16 March 2021, 00:05:50 UTC
Merge pull request #475 from NYUCCL/fix-shell-invalid-aws-cred-messaging
Tip revision: 9f86efd
CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 3.0.4
### Fixed
- fix shell's error during hit_create that prevented ad url from showing.
- fix shell's messaging about invalid aws credentials

## 3.0.3
### Fixed
- Changed default ad url port to 443 instead of 80

## 3.0.2
### Changed
The currently-undocumented `psiturk-heroku-config` command no longer attaches a postgresql addon by default.
I'm calling this just a bugfix because (1) the docs assume that it _doesn't_ attach the psql database, and
(2) that command isn't even documented anyway. Will version-feature-bump when this feature is better
thought through.

## 3.0.1
### Fixed & Changed
- fixed an inconsistency between shell usage of "allowlist-qualification-ids" and
  and config file calling the same "require_quals", same for "blocklist" and "block_quals". Also, documentation incorrectly described the config file accepting "allowlist_qualification_ids", while it only actually accepted "require_quals." Standardized on "require" and "block" throughout. Maintained backwards compatibility except in shell usage since docopt
  doesn't seem to allow it in the way it parses the usage string, but no way
  am I going to bump to 4.0.0 just because of that!

## 3.0.0
### Changed
- Drop support for all psiturk.org-related services, including the psiturk Secure Ad Server, psiturk.org api keys, and the experiment-exchange
- moved the experiment exchange [into the docs](https://psiturk.readthedocs.io/en/latest/experiment-exchange.html). See [here](https://psiturk.readthedocs.io/en/latest/experiment-exchange.html#contributing-to-the-exchange) for how to contribute a project to the new exchange.
- Drop support for python2 -- only python > 3.6 is supported.
- upgrade boto to boto3, as boto dropped support for python2.
- upgrade cmd2 to 0.9 (only supports python3)
- a jinja "layout" is used for many of the bundled experiment pages, making general changes to standard pages easier
- `def regularpage` in experiment.py no longer calls flask's `render_template` -- instead, it sends the
  file as-is. If you need a custom template to be rendered, then create a route for your template in `custom.py`, and
  call `render_template()` on it yourself.

#### Configuration files
- the configuration file created by running `psiturk-setup-example`
  now comments out default settings by prepending `;` -- this makes it
  so that environment variables can override defaults not specified
  in config.txt. See [the configuration overview page in the documentation](https://psiturk.readthedocs.io/en/latest/configuration-overview.html) for more information.
- changed the default tablename to be `assignments` instead of `turkdemo`
- moved `contact_email_on_error` and `cutoff_time` under the `Task Parameters` section.

### Added
- add ability to customize participant condition assignment. (see 309a623)
- if a commonly-forgotten required template is missing when not using the psiturk ad server, raise an exception

#### Dashboard
- add a dashboard and the beginnings of a sort-of REST API that the dashboard uses.
  See the [dashboard configuration overview in the documentation](https://psiturk.readthedocs.io/en/latest/dashboard.html). The dashboard currently includes features such as the following:
  - view all participants by condition and status
  - launch "campaigns," which registers a scheduled event to keep posting rounds of HITs with 9
    assignments each until a campaign goal is met
  - enable a "auto approve all participants" scheduled event
  - tasks only run if `do_scheduler` is `True`, see [the tasks setting](https://psiturk.readthedocs.io/en/latest/dashboard.html#tasks)

#### Scheduler
- added a task-runner setting, which wh

## [2.3.11]
### Fixed
- fix unable to do non-aws things on without aws credentials (#427)

## [2.3.10]
### Fixed
-- patch pass bonus amount as shell arg

## [2.3.9]
### Fixed
- fix extend hit (#421)

## [2.3.8]
### Fixed
- specified `setproctitle` in requirements.txt, to fix "server blocked" status message. Necessary for gunicorn < 20.0,
  but gunicorn >=20.0 requires python3

## [2.3.7]
### Fixed
- requirements.txt generated with help of `pipreqs` instead of `pip freeze`, removing stale child dependencies, one
  of which was breaking zsh on osx catalina (#386)

## [2.3.6]
### Fixed
- download_datafiles works on both python2 and python3 (#375)
- gnureadline not forced onto macosx users (#371)

## [2.3.5]
### Fixed
- moved _get_local_hitids out of list comprehension (#380)


## [2.3.4]
### Fixed
- worker bonus didn't do anything because of shell parsing bug (see #377)
- (probably) fixed utf-8 encoding issue when opening consent.html or ad.html


## [2.3.3]
### Fixed
- datastring encoding to db was wrong
- for python2, needed to check against six.string_types instead of str
- `worker approve <assignmentid | hitid>` was incorrectly looking for already-credited local submissions instead of just submitted ones
- `worker approve --hitid` was not filtering to just the local study


## [2.3.2]
### Added
- add explanation for non-aws-users for how to use psiturk server commands without launching the shell

### Fixed
- `psiturk hit create` with use_psiturk_ad_server was throwing an error when trying to create a hit because
  of a missing success attribute on wrapperresponsesuccess


## [2.3.1]
### Added
- test suite to pave the way for migrating to Python 3 (woo!)
- Support for Python 3.6 and 3.7
- travis CI runs setup.py tests for python 2.7, 3.6, and 3.7
- table that tracks psiturk-created HITids in local db

### Changed
- `psiturk_shell` file does all printing through cmd2's `.poutput` so that stuff can be redirected
- `amt_services_wrapper` and `amt_services` functions are wrapped via decorator so that they return a consistent Response-type object. This
  effectively separates the `print`ing of any psiturk_shell data from the core psiturk functions. This will make a web interface doable. Also,
  it allows for the core functions to throw meaningful exceptions, which are caught by the wrapper and returned.
- psiturk status message is pulled from github repo instead of from an api call to the psiturk.org api server.
  Also, the call to load this does not depend directly on urllib2 anymore.
- update many dependencies because why not

### Removed
- Shell support for EC2 MySQL

### Fixed
- #352 - expiring a hit didn't push far enough into the past to actually expire instead of extend on the mturk side

## [2.3.0]
### Fixed
- moved AWS mturk api to 2017–01–17 via a move to boto3. No psiturk version prior to 2.3.0 will work.


[Unreleased 3.0.0]: https://github.com/NYUCCL/psiTurk/tree/master
[Unreleased 2.3.x]: https://github.com/NYUCCL/psiTurk/tree/python2
[2.3.5]: https://github.com/NYUCCL/psiTurk/compare/2.3.4...2.3.5
[2.3.4]: https://github.com/NYUCCL/psiTurk/compare/2.3.3...2.3.4
[2.3.3]: https://github.com/NYUCCL/psiTurk/compare/2.3.2...2.3.3
[2.3.2]: https://github.com/NYUCCL/psiTurk/compare/2.3.1...2.3.2
[2.3.1]: https://github.com/NYUCCL/psiTurk/compare/2.3.0...2.3.1
back to top