Repository navigation
2.5.0
2.5.0 / 2020-06-04
General
- Use a session invalidation strategy inspired by Django. Newly generated user sessions will now include a HMAC of the user's password. When the user's password is changed by someone other than the user the previous HMACs will no longer be valid and the user will be logged out when they next attempt to perform an action.
- A user and team's place, and score are now cached and invalidated on score changes.
API
- Add
/api/v1/challenges?view=adminto allow admin users to see all challenges regardless of their visibility state - Add
/api/v1/users?view=adminto allow admin users to see all users regardless of their hidden/banned state - Add
/api/v1/teams?view=adminto allow admin users to see all teams regardless of their hidden/banned state - The scoreboard endpoint
/api/v1/scoreboardis now significantly more performant (20x) due to better response generation - The top scoreboard endpoint
/api/v1/scoreboard/top/<count>is now more performant (3x) due to better response generation - The scoreboard endpoint
/api/v1/scoreboardwill no longer show hidden/banned users in a non-hidden team
Deployment
docker-composenow provides a basic nginx configuration and deploys nginx on port 80Dockerfilenow installspython3andpython3-devinstead ofpythonandpython-devbecause Alpine no longer provides those dependencies
Miscellaneous
- The
get_configandget_pageconfig utilities now use SQLAlchemy Core instead of SQLAlchemy ORM for slight speedups - The
get_team_standingsandget_user_standingsfunctions now return more data (id, oauth_id, name, score for regular users and banned, hidden as well for admins) - Update Flask-Migrate to 2.5.3 and regenerate the migration environment. Fixes using
%signs in database passwords.