Skip to content

Releases: jdabtieu/CTFOJ

v2.1.0

18 Feb 02:37
dca31ee
Compare
Choose a tag to compare

Changes in this version

  • Add problem download feature
  • Add dark mode
  • Allow browsers to create strong passwords automatically
  • Better alerts
  • Bug fixes
  • Reduce jQuery dependency
  • Update docs

Troubleshooting

No reported issues at the moment.

v2.0.0

06 Feb 16:09
4ee83ef
Compare
Choose a tag to compare

Warning

You will need to modify your webserver configuration. We now use the src/ folder as the root folder. Please see the update instructions.

Changes in this version

  • Move source code to src/
  • Improve page load times
  • Update Bootstrap to 5.0.0
  • Update requests to 2.25.1
  • Update pytest to 6.2.2
  • Update pyjwt to 2.0.1
  • Update cs50 to 6.0.2
  • Add tests
  • Code cleanup
  • Begin to phase out jQuery

Troubleshooting

If the page display is messed up, hit Ctrl+F5 to reload the CSS, which has been changed since v1.5.0

Update instructions

First, you should stop CTFOJ altogether.
Then, enter the repository root folder's parent directory, and the run the following:

# Create backup of private configuration and logs
mkdir backup
cp CTFOJ/database.db backup
cp CTFOJ/database.db.bak backup
cp -r CTFOJ/logs backup
cp -r CTFOJ/dl backup
cp -r CTFOJ/metadata backup
cp CTFOJ/settings.py backup
cp CTFOJ/secret_key.txt backup
# Destroy and recreate CTFOJ
# Warning: if you have any other files in the CTFOJ folder that are not part of CTFOJ, move them into the backup folder
mv CTFOJ CTFOJ_old
git clone https://github.com/jdabtieu/CTFOJ.git
cd CTFOJ/src
# Restore private configuration and logs
cp -r ../../backup/* .

If you had all packages installed in a venv, recreate it.

python3 -m venv .
source bin/activate
pip install -r requirements.txt
deactivate

Then, change any configuration files to point to this now. If you are running CTFOJ as a service, you'll have to edit your CTFOJ.service file. With nginx/Apache/any other web server, you will need to update the configuration files for your WSGI program. Make sure you restart your WSGI service and your web server. Also, if you are running daily_tasks.py (you should be), make sure you update the cron task/whatever task scheduler you use to use the new path.
If everything is working now, you may delete the CTFOJ_old directory.

v1.5.0

30 Jan 18:09
f4d13e2
Compare
Choose a tag to compare

Changes in this version

  • Allow editing problem flags
  • Automatically check for updates
  • Significantly improve page load time
  • Fix issue where daily_tasks.py would prevent the application from writing logs
  • Fix bugs

Troubleshooting

No reported issues at the moment.

v1.4.1

21 Jan 03:51
Compare
Choose a tag to compare

Changes in this version

  • Add pagination
  • Add increased security
  • Fix CAPTCHA bug
  • Add tests

Troubleshooting

No reported issues at the moment.

v1.4.0

23 Dec 17:11
e2920d9
Compare
Choose a tag to compare

Changes in this version

  • Add email notifications
  • Better layout
  • Better layout for mobile
  • Fix CSRF vulnerabilities
  • Misc bug fixes
  • Code cleanup
  • Add tests

Troubleshooting

No reported issues at the moment.

v1.3.1

18 Dec 16:18
Compare
Choose a tag to compare

Changes in this version

  • Improve contest problem ordering
  • Better contest UI
  • Allow category and point value of a problem to be edited
  • Improve error messages
  • Fix bug when editing date of contests

Troubleshooting

No reported issues at the moment.

v1.3.0

16 Dec 02:56
Compare
Choose a tag to compare

Database Warning

In this release, the database format was changed. If you are on v1.1.0, please run $ python3 migrate.py to migrate to the latest database format. If you are on a version older than v1.1.0, please update to v1.1.0 first, and then migrate to this version.
Database update: migrate.py

Changes in this version

  • Better alerts
  • Two-factor authentication
  • User settings page
  • Admin console page
  • Better maintenance mode
  • Fix file download issue
  • Misc bug fixes
  • Add tests

Troubleshooting

Internal Server Error when logging in: Are you sure you ran migrate.py?

v1.2.0

13 Dec 19:30
Compare
Choose a tag to compare

Changes in this version

  • Implement Captchas
  • Fix Markdown rendering issues
  • Fix (admin authenticated) XSS bug
  • Prevent admins from banning other admins
    • Only the super-admin, the account created in INSTALL.md (aka user-id=1), can ban other admins
  • Update tests
  • Fix bugs

Troubleshooting

You will need to add the following lines to settings.py.

USE_CAPTCHA = True  # replace this with False if you do not wish to use hCaptcha
HCAPTCHA_SECRET = 0xdeadbeef  # replace this with your hCaptcha secret
HCAPTCHA_SITE = 'site_key'  # replace this with your hCaptcha site key

v1.1.0

10 Dec 17:29
Compare
Choose a tag to compare

Database Warning

In this release, the database format was changed very heavily. If you are on v1.0.0, please run $ python3 migrate.py to migrate to the latest database format. If you are on a version older than v1.0.0, please update to v1.0.0 first by downloading that version, running migrate.py, and then migrate to this version.

Changes in this version

  • Rewrite database format
  • Full Markdown support, with live preview
  • Add full ability to deleting announcements, contests, and problems
  • Code cleanup
  • Add automated tests
  • Create security policy
  • Fix bug with maintenance mode template
  • Fix bugs with markdown
  • Fix security bugs

Troubleshooting

No reported issues at the moment.

v1.1.0-pre1

10 Dec 03:22
Compare
Choose a tag to compare
v1.1.0-pre1 Pre-release
Pre-release

Database Warning

In this release, the database format was changed very heavily. A migration script will be out soon. There will be no further database changes between this release and v1.1.0.

Changes in this version

  • rewrite database format
  • BETA: some markdown live preview
  • fix bug with maintenance mode template
  • fix security bugs
  • code cleanup
  • add automated tests
  • create security policy

Troubleshooting

As this is not a full release, we will not be providing technical support. Running pre-releases and beta builds is at your own risk.